459.26/163.92 YES 459.66/163.94 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 459.66/163.94 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 459.66/163.94 459.66/163.94 459.66/163.94 Termination w.r.t. Q of the given QTRS could be proven: 459.66/163.94 459.66/163.94 (0) QTRS 459.66/163.94 (1) DependencyPairsProof [EQUIVALENT, 451 ms] 459.66/163.94 (2) QDP 459.66/163.94 (3) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (4) AND 459.66/163.94 (5) QDP 459.66/163.94 (6) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (7) QDP 459.66/163.94 (8) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (9) QDP 459.66/163.94 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (11) YES 459.66/163.94 (12) QDP 459.66/163.94 (13) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (14) QDP 459.66/163.94 (15) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (16) QDP 459.66/163.94 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (18) YES 459.66/163.94 (19) QDP 459.66/163.94 (20) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (21) QDP 459.66/163.94 (22) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (23) QDP 459.66/163.94 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (25) YES 459.66/163.94 (26) QDP 459.66/163.94 (27) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (28) QDP 459.66/163.94 (29) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (30) QDP 459.66/163.94 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (32) YES 459.66/163.94 (33) QDP 459.66/163.94 (34) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (35) QDP 459.66/163.94 (36) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (37) QDP 459.66/163.94 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (39) YES 459.66/163.94 (40) QDP 459.66/163.94 (41) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (42) QDP 459.66/163.94 (43) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (44) QDP 459.66/163.94 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (46) YES 459.66/163.94 (47) QDP 459.66/163.94 (48) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (49) QDP 459.66/163.94 (50) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (51) QDP 459.66/163.94 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (53) YES 459.66/163.94 (54) QDP 459.66/163.94 (55) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (56) QDP 459.66/163.94 (57) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (58) QDP 459.66/163.94 (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (60) YES 459.66/163.94 (61) QDP 459.66/163.94 (62) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (63) QDP 459.66/163.94 (64) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (65) QDP 459.66/163.94 (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (67) YES 459.66/163.94 (68) QDP 459.66/163.94 (69) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (70) QDP 459.66/163.94 (71) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (72) QDP 459.66/163.94 (73) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (74) YES 459.66/163.94 (75) QDP 459.66/163.94 (76) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (77) QDP 459.66/163.94 (78) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (79) QDP 459.66/163.94 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (81) YES 459.66/163.94 (82) QDP 459.66/163.94 (83) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (84) QDP 459.66/163.94 (85) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (86) QDP 459.66/163.94 (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (88) YES 459.66/163.94 (89) QDP 459.66/163.94 (90) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (91) QDP 459.66/163.94 (92) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (93) QDP 459.66/163.94 (94) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (95) YES 459.66/163.94 (96) QDP 459.66/163.94 (97) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (98) QDP 459.66/163.94 (99) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (100) QDP 459.66/163.94 (101) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (102) YES 459.66/163.94 (103) QDP 459.66/163.94 (104) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (105) QDP 459.66/163.94 (106) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (107) QDP 459.66/163.94 (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (109) YES 459.66/163.94 (110) QDP 459.66/163.94 (111) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (112) QDP 459.66/163.94 (113) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (114) QDP 459.66/163.94 (115) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (116) YES 459.66/163.94 (117) QDP 459.66/163.94 (118) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (119) QDP 459.66/163.94 (120) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (121) QDP 459.66/163.94 (122) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (123) YES 459.66/163.94 (124) QDP 459.66/163.94 (125) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (126) QDP 459.66/163.94 (127) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (128) QDP 459.66/163.94 (129) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (130) YES 459.66/163.94 (131) QDP 459.66/163.94 (132) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (133) QDP 459.66/163.94 (134) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (135) QDP 459.66/163.94 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (137) YES 459.66/163.94 (138) QDP 459.66/163.94 (139) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (140) QDP 459.66/163.94 (141) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (142) QDP 459.66/163.94 (143) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (144) YES 459.66/163.94 (145) QDP 459.66/163.94 (146) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (147) QDP 459.66/163.94 (148) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (149) QDP 459.66/163.94 (150) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (151) YES 459.66/163.94 (152) QDP 459.66/163.94 (153) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (154) QDP 459.66/163.94 (155) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (156) QDP 459.66/163.94 (157) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (158) YES 459.66/163.94 (159) QDP 459.66/163.94 (160) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (161) QDP 459.66/163.94 (162) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (163) QDP 459.66/163.94 (164) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (165) YES 459.66/163.94 (166) QDP 459.66/163.94 (167) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (168) QDP 459.66/163.94 (169) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (170) QDP 459.66/163.94 (171) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (172) YES 459.66/163.94 (173) QDP 459.66/163.94 (174) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (175) QDP 459.66/163.94 (176) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (177) QDP 459.66/163.94 (178) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (179) YES 459.66/163.94 (180) QDP 459.66/163.94 (181) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (182) QDP 459.66/163.94 (183) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (184) QDP 459.66/163.94 (185) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (186) YES 459.66/163.94 (187) QDP 459.66/163.94 (188) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (189) QDP 459.66/163.94 (190) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (191) QDP 459.66/163.94 (192) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (193) YES 459.66/163.94 (194) QDP 459.66/163.94 (195) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (196) QDP 459.66/163.94 (197) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (198) QDP 459.66/163.94 (199) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (200) YES 459.66/163.94 (201) QDP 459.66/163.94 (202) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (203) QDP 459.66/163.94 (204) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (205) QDP 459.66/163.94 (206) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (207) YES 459.66/163.94 (208) QDP 459.66/163.94 (209) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (210) QDP 459.66/163.94 (211) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (212) QDP 459.66/163.94 (213) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (214) YES 459.66/163.94 (215) QDP 459.66/163.94 (216) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (217) QDP 459.66/163.94 (218) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (219) QDP 459.66/163.94 (220) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (221) YES 459.66/163.94 (222) QDP 459.66/163.94 (223) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (224) QDP 459.66/163.94 (225) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (226) QDP 459.66/163.94 (227) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (228) YES 459.66/163.94 (229) QDP 459.66/163.94 (230) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (231) QDP 459.66/163.94 (232) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (233) QDP 459.66/163.94 (234) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (235) YES 459.66/163.94 (236) QDP 459.66/163.94 (237) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (238) QDP 459.66/163.94 (239) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (240) QDP 459.66/163.94 (241) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (242) YES 459.66/163.94 (243) QDP 459.66/163.94 (244) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (245) QDP 459.66/163.94 (246) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (247) QDP 459.66/163.94 (248) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (249) YES 459.66/163.94 (250) QDP 459.66/163.94 (251) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (252) QDP 459.66/163.94 (253) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (254) QDP 459.66/163.94 (255) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (256) YES 459.66/163.94 (257) QDP 459.66/163.94 (258) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (259) QDP 459.66/163.94 (260) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (261) QDP 459.66/163.94 (262) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (263) YES 459.66/163.94 (264) QDP 459.66/163.94 (265) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (266) QDP 459.66/163.94 (267) QDPOrderProof [EQUIVALENT, 1681 ms] 459.66/163.94 (268) QDP 459.66/163.94 (269) QDPQMonotonicMRRProof [EQUIVALENT, 1882 ms] 459.66/163.94 (270) QDP 459.66/163.94 (271) QDPQMonotonicMRRProof [EQUIVALENT, 1888 ms] 459.66/163.94 (272) QDP 459.66/163.94 (273) QDPQMonotonicMRRProof [EQUIVALENT, 1632 ms] 459.66/163.94 (274) QDP 459.66/163.94 (275) QDPOrderProof [EQUIVALENT, 1795 ms] 459.66/163.94 (276) QDP 459.66/163.94 (277) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (278) QDP 459.66/163.94 (279) QDPQMonotonicMRRProof [EQUIVALENT, 1563 ms] 459.66/163.94 (280) QDP 459.66/163.94 (281) QDPOrderProof [EQUIVALENT, 2776 ms] 459.66/163.94 (282) QDP 459.66/163.94 (283) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (284) QDP 459.66/163.94 (285) QDPOrderProof [EQUIVALENT, 241 ms] 459.66/163.94 (286) QDP 459.66/163.94 (287) QDPOrderProof [EQUIVALENT, 628 ms] 459.66/163.94 (288) QDP 459.66/163.94 (289) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (290) QDP 459.66/163.94 (291) QDPOrderProof [EQUIVALENT, 2754 ms] 459.66/163.94 (292) QDP 459.66/163.94 (293) QDPOrderProof [EQUIVALENT, 323 ms] 459.66/163.94 (294) QDP 459.66/163.94 (295) QDPOrderProof [EQUIVALENT, 1254 ms] 459.66/163.94 (296) QDP 459.66/163.94 (297) QDPOrderProof [EQUIVALENT, 988 ms] 459.66/163.94 (298) QDP 459.66/163.94 (299) QDPOrderProof [EQUIVALENT, 1386 ms] 459.66/163.94 (300) QDP 459.66/163.94 (301) QDPOrderProof [EQUIVALENT, 2177 ms] 459.66/163.94 (302) QDP 459.66/163.94 (303) QDPOrderProof [EQUIVALENT, 1894 ms] 459.66/163.94 (304) QDP 459.66/163.94 (305) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (306) QDP 459.66/163.94 (307) QDPOrderProof [EQUIVALENT, 999 ms] 459.66/163.94 (308) QDP 459.66/163.94 (309) QDPOrderProof [EQUIVALENT, 897 ms] 459.66/163.94 (310) QDP 459.66/163.94 (311) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (312) QDP 459.66/163.94 (313) QDPOrderProof [EQUIVALENT, 807 ms] 459.66/163.94 (314) QDP 459.66/163.94 (315) QDPOrderProof [EQUIVALENT, 943 ms] 459.66/163.94 (316) QDP 459.66/163.94 (317) QDPOrderProof [EQUIVALENT, 870 ms] 459.66/163.94 (318) QDP 459.66/163.94 (319) QDPOrderProof [EQUIVALENT, 859 ms] 459.66/163.94 (320) QDP 459.66/163.94 (321) QDPOrderProof [EQUIVALENT, 718 ms] 459.66/163.94 (322) QDP 459.66/163.94 (323) QDPOrderProof [EQUIVALENT, 763 ms] 459.66/163.94 (324) QDP 459.66/163.94 (325) QDPOrderProof [EQUIVALENT, 2213 ms] 459.66/163.94 (326) QDP 459.66/163.94 (327) QDPOrderProof [EQUIVALENT, 2049 ms] 459.66/163.94 (328) QDP 459.66/163.94 (329) QDPOrderProof [EQUIVALENT, 1183 ms] 459.66/163.94 (330) QDP 459.66/163.94 (331) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (332) QDP 459.66/163.94 (333) QDPOrderProof [EQUIVALENT, 807 ms] 459.66/163.94 (334) QDP 459.66/163.94 (335) QDPOrderProof [EQUIVALENT, 1892 ms] 459.66/163.94 (336) QDP 459.66/163.94 (337) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (338) QDP 459.66/163.94 (339) QDPOrderProof [EQUIVALENT, 820 ms] 459.66/163.94 (340) QDP 459.66/163.94 (341) QDPOrderProof [EQUIVALENT, 806 ms] 459.66/163.94 (342) QDP 459.66/163.94 (343) QDPOrderProof [EQUIVALENT, 726 ms] 459.66/163.94 (344) QDP 459.66/163.94 (345) QDPOrderProof [EQUIVALENT, 747 ms] 459.66/163.94 (346) QDP 459.66/163.94 (347) QDPOrderProof [EQUIVALENT, 802 ms] 459.66/163.94 (348) QDP 459.66/163.94 (349) QDPOrderProof [EQUIVALENT, 720 ms] 459.66/163.94 (350) QDP 459.66/163.94 (351) QDPOrderProof [EQUIVALENT, 929 ms] 459.66/163.94 (352) QDP 459.66/163.94 (353) QDPOrderProof [EQUIVALENT, 754 ms] 459.66/163.94 (354) QDP 459.66/163.94 (355) QDPOrderProof [EQUIVALENT, 905 ms] 459.66/163.94 (356) QDP 459.66/163.94 (357) QDPOrderProof [EQUIVALENT, 719 ms] 459.66/163.94 (358) QDP 459.66/163.94 (359) QDPOrderProof [EQUIVALENT, 732 ms] 459.66/163.94 (360) QDP 459.66/163.94 (361) QDPOrderProof [EQUIVALENT, 2241 ms] 459.66/163.94 (362) QDP 459.66/163.94 (363) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (364) QDP 459.66/163.94 (365) QDPOrderProof [EQUIVALENT, 238 ms] 459.66/163.94 (366) QDP 459.66/163.94 (367) DependencyGraphProof [EQUIVALENT, 0 ms] 459.66/163.94 (368) QDP 459.66/163.94 (369) UsableRulesProof [EQUIVALENT, 0 ms] 459.66/163.94 (370) QDP 459.66/163.94 (371) QReductionProof [EQUIVALENT, 0 ms] 459.66/163.94 (372) QDP 459.66/163.94 (373) QDPSizeChangeProof [EQUIVALENT, 0 ms] 459.66/163.94 (374) YES 459.66/163.94 459.66/163.94 459.66/163.94 ---------------------------------------- 459.66/163.94 459.66/163.94 (0) 459.66/163.94 Obligation: 459.66/163.94 Q restricted rewrite system: 459.66/163.94 The TRS R consists of the following rules: 459.66/163.94 459.66/163.94 active(zeros) -> mark(cons(0, zeros)) 459.66/163.94 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.94 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.94 active(U13(tt)) -> mark(tt) 459.66/163.94 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.94 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.94 active(U23(tt)) -> mark(tt) 459.66/163.94 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.94 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.94 active(U33(tt)) -> mark(tt) 459.66/163.94 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.94 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.94 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.94 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.94 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.94 active(U46(tt)) -> mark(tt) 459.66/163.94 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.94 active(U52(tt)) -> mark(tt) 459.66/163.94 active(U61(tt)) -> mark(tt) 459.66/163.94 active(U71(tt)) -> mark(tt) 459.66/163.94 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.94 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.94 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.94 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.94 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.94 active(U86(tt)) -> mark(tt) 459.66/163.94 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.94 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.94 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.94 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.94 active(isNat(0)) -> mark(tt) 459.66/163.94 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.94 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.94 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.94 active(isNatIList(zeros)) -> mark(tt) 459.66/163.94 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.94 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.94 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.94 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.94 active(isNatKind(0)) -> mark(tt) 459.66/163.94 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.94 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.94 active(isNatList(nil)) -> mark(tt) 459.66/163.94 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.94 active(length(nil)) -> mark(0) 459.66/163.94 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.94 mark(zeros) -> active(zeros) 459.66/163.94 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.94 mark(0) -> active(0) 459.66/163.94 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.94 mark(tt) -> active(tt) 459.66/163.94 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.94 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.94 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.94 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.94 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.94 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.94 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.94 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.94 mark(isNat(X)) -> active(isNat(X)) 459.66/163.94 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.94 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.94 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.94 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.94 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.94 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.94 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.94 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.94 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.94 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.94 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.94 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.94 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.94 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.94 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.94 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.94 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.94 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.94 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.94 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.94 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.94 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.94 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.94 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.95 mark(s(X)) -> active(s(mark(X))) 459.66/163.95 mark(length(X)) -> active(length(mark(X))) 459.66/163.95 mark(nil) -> active(nil) 459.66/163.95 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.95 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.95 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.95 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.95 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.95 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.95 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.95 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.95 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.95 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.95 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.95 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.95 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.95 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.95 U13(mark(X)) -> U13(X) 459.66/163.95 U13(active(X)) -> U13(X) 459.66/163.95 isNatList(mark(X)) -> isNatList(X) 459.66/163.95 isNatList(active(X)) -> isNatList(X) 459.66/163.95 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.95 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.95 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.95 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.95 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.95 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.95 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.95 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.95 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.95 isNatKind(active(X)) -> isNatKind(X) 459.66/163.95 U23(mark(X)) -> U23(X) 459.66/163.95 U23(active(X)) -> U23(X) 459.66/163.95 isNat(mark(X)) -> isNat(X) 459.66/163.95 isNat(active(X)) -> isNat(X) 459.66/163.95 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.95 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.95 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.95 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.95 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.95 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.95 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.95 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.95 U33(mark(X)) -> U33(X) 459.66/163.95 U33(active(X)) -> U33(X) 459.66/163.95 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.95 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.95 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.95 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.95 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.95 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.95 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.95 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.95 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.95 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.95 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.95 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.95 U46(mark(X)) -> U46(X) 459.66/163.95 U46(active(X)) -> U46(X) 459.66/163.95 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.95 isNatIList(active(X)) -> isNatIList(X) 459.66/163.95 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.95 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.95 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.95 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.95 U52(mark(X)) -> U52(X) 459.66/163.95 U52(active(X)) -> U52(X) 459.66/163.95 U61(mark(X)) -> U61(X) 459.66/163.95 U61(active(X)) -> U61(X) 459.66/163.95 U71(mark(X)) -> U71(X) 459.66/163.95 U71(active(X)) -> U71(X) 459.66/163.95 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.95 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.95 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.95 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.95 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.95 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.95 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.95 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.95 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.95 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.95 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.95 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.95 U86(mark(X)) -> U86(X) 459.66/163.95 U86(active(X)) -> U86(X) 459.66/163.95 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.95 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.95 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.95 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.95 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.95 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.95 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.95 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.95 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.95 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.95 s(mark(X)) -> s(X) 459.66/163.95 s(active(X)) -> s(X) 459.66/163.95 length(mark(X)) -> length(X) 459.66/163.95 length(active(X)) -> length(X) 459.66/163.95 459.66/163.95 The set Q consists of the following terms: 459.66/163.95 459.66/163.95 active(zeros) 459.66/163.95 active(U11(tt, x0)) 459.66/163.95 active(U12(tt, x0)) 459.66/163.95 active(U13(tt)) 459.66/163.95 active(U21(tt, x0)) 459.66/163.95 active(U22(tt, x0)) 459.66/163.95 active(U23(tt)) 459.66/163.95 active(U31(tt, x0)) 459.66/163.95 active(U32(tt, x0)) 459.66/163.95 active(U33(tt)) 459.66/163.95 active(U41(tt, x0, x1)) 459.66/163.95 active(U42(tt, x0, x1)) 459.66/163.95 active(U43(tt, x0, x1)) 459.66/163.95 active(U44(tt, x0, x1)) 459.66/163.95 active(U45(tt, x0)) 459.66/163.95 active(U46(tt)) 459.66/163.95 active(U51(tt, x0)) 459.66/163.95 active(U52(tt)) 459.66/163.95 active(U61(tt)) 459.66/163.95 active(U71(tt)) 459.66/163.95 active(U81(tt, x0, x1)) 459.66/163.95 active(U82(tt, x0, x1)) 459.66/163.95 active(U83(tt, x0, x1)) 459.66/163.95 active(U84(tt, x0, x1)) 459.66/163.95 active(U85(tt, x0)) 459.66/163.95 active(U86(tt)) 459.66/163.95 active(U91(tt, x0, x1)) 459.66/163.95 active(U92(tt, x0, x1)) 459.66/163.95 active(U93(tt, x0, x1)) 459.66/163.95 active(U94(tt, x0)) 459.66/163.95 active(isNat(0)) 459.66/163.95 active(isNat(length(x0))) 459.66/163.95 active(isNat(s(x0))) 459.66/163.95 active(isNatIList(x0)) 459.66/163.95 active(isNatIListKind(nil)) 459.66/163.95 active(isNatIListKind(zeros)) 459.66/163.95 active(isNatIListKind(cons(x0, x1))) 459.66/163.95 active(isNatKind(0)) 459.66/163.95 active(isNatKind(length(x0))) 459.66/163.95 active(isNatKind(s(x0))) 459.66/163.95 active(isNatList(nil)) 459.66/163.95 active(isNatList(cons(x0, x1))) 459.66/163.95 active(length(nil)) 459.66/163.95 active(length(cons(x0, x1))) 459.66/163.95 mark(zeros) 459.66/163.95 mark(cons(x0, x1)) 459.66/163.95 mark(0) 459.66/163.95 mark(U11(x0, x1)) 459.66/163.95 mark(tt) 459.66/163.95 mark(U12(x0, x1)) 459.66/163.95 mark(isNatIListKind(x0)) 459.66/163.95 mark(U13(x0)) 459.66/163.95 mark(isNatList(x0)) 459.66/163.95 mark(U21(x0, x1)) 459.66/163.95 mark(U22(x0, x1)) 459.66/163.95 mark(isNatKind(x0)) 459.66/163.95 mark(U23(x0)) 459.66/163.95 mark(isNat(x0)) 459.66/163.95 mark(U31(x0, x1)) 459.66/163.95 mark(U32(x0, x1)) 459.66/163.95 mark(U33(x0)) 459.66/163.95 mark(U41(x0, x1, x2)) 459.66/163.95 mark(U42(x0, x1, x2)) 459.66/163.95 mark(U43(x0, x1, x2)) 459.66/163.95 mark(U44(x0, x1, x2)) 459.66/163.95 mark(U45(x0, x1)) 459.66/163.95 mark(U46(x0)) 459.66/163.95 mark(isNatIList(x0)) 459.66/163.95 mark(U51(x0, x1)) 459.66/163.95 mark(U52(x0)) 459.66/163.95 mark(U61(x0)) 459.66/163.95 mark(U71(x0)) 459.66/163.95 mark(U81(x0, x1, x2)) 459.66/163.95 mark(U82(x0, x1, x2)) 459.66/163.95 mark(U83(x0, x1, x2)) 459.66/163.95 mark(U84(x0, x1, x2)) 459.66/163.95 mark(U85(x0, x1)) 459.66/163.95 mark(U86(x0)) 459.66/163.95 mark(U91(x0, x1, x2)) 459.66/163.95 mark(U92(x0, x1, x2)) 459.66/163.95 mark(U93(x0, x1, x2)) 459.66/163.95 mark(U94(x0, x1)) 459.66/163.95 mark(s(x0)) 459.66/163.95 mark(length(x0)) 459.66/163.95 mark(nil) 459.66/163.95 cons(mark(x0), x1) 459.66/163.95 cons(x0, mark(x1)) 459.66/163.95 cons(active(x0), x1) 459.66/163.95 cons(x0, active(x1)) 459.66/163.95 U11(mark(x0), x1) 459.66/163.95 U11(x0, mark(x1)) 459.66/163.95 U11(active(x0), x1) 459.66/163.95 U11(x0, active(x1)) 459.66/163.95 U12(mark(x0), x1) 459.66/163.95 U12(x0, mark(x1)) 459.66/163.95 U12(active(x0), x1) 459.66/163.95 U12(x0, active(x1)) 459.66/163.95 isNatIListKind(mark(x0)) 459.66/163.95 isNatIListKind(active(x0)) 459.66/163.95 U13(mark(x0)) 459.66/163.95 U13(active(x0)) 459.66/163.95 isNatList(mark(x0)) 459.66/163.95 isNatList(active(x0)) 459.66/163.95 U21(mark(x0), x1) 459.66/163.95 U21(x0, mark(x1)) 459.66/163.95 U21(active(x0), x1) 459.66/163.95 U21(x0, active(x1)) 459.66/163.95 U22(mark(x0), x1) 459.66/163.95 U22(x0, mark(x1)) 459.66/163.95 U22(active(x0), x1) 459.66/163.95 U22(x0, active(x1)) 459.66/163.95 isNatKind(mark(x0)) 459.66/163.95 isNatKind(active(x0)) 459.66/163.95 U23(mark(x0)) 459.66/163.95 U23(active(x0)) 459.66/163.95 isNat(mark(x0)) 459.66/163.95 isNat(active(x0)) 459.66/163.95 U31(mark(x0), x1) 459.66/163.95 U31(x0, mark(x1)) 459.66/163.95 U31(active(x0), x1) 459.66/163.95 U31(x0, active(x1)) 459.66/163.95 U32(mark(x0), x1) 459.66/163.95 U32(x0, mark(x1)) 459.66/163.95 U32(active(x0), x1) 459.66/163.95 U32(x0, active(x1)) 459.66/163.95 U33(mark(x0)) 459.66/163.95 U33(active(x0)) 459.66/163.95 U41(mark(x0), x1, x2) 459.66/163.95 U41(x0, mark(x1), x2) 459.66/163.95 U41(x0, x1, mark(x2)) 459.66/163.95 U41(active(x0), x1, x2) 459.66/163.95 U41(x0, active(x1), x2) 459.66/163.95 U41(x0, x1, active(x2)) 459.66/163.95 U42(mark(x0), x1, x2) 459.66/163.95 U42(x0, mark(x1), x2) 459.66/163.95 U42(x0, x1, mark(x2)) 459.66/163.95 U42(active(x0), x1, x2) 459.66/163.95 U42(x0, active(x1), x2) 459.66/163.95 U42(x0, x1, active(x2)) 459.66/163.95 U43(mark(x0), x1, x2) 459.66/163.95 U43(x0, mark(x1), x2) 459.66/163.95 U43(x0, x1, mark(x2)) 459.66/163.95 U43(active(x0), x1, x2) 459.66/163.95 U43(x0, active(x1), x2) 459.66/163.95 U43(x0, x1, active(x2)) 459.66/163.95 U44(mark(x0), x1, x2) 459.66/163.95 U44(x0, mark(x1), x2) 459.66/163.95 U44(x0, x1, mark(x2)) 459.66/163.95 U44(active(x0), x1, x2) 459.66/163.95 U44(x0, active(x1), x2) 459.66/163.95 U44(x0, x1, active(x2)) 459.66/163.95 U45(mark(x0), x1) 459.66/163.95 U45(x0, mark(x1)) 459.66/163.95 U45(active(x0), x1) 459.66/163.95 U45(x0, active(x1)) 459.66/163.95 U46(mark(x0)) 459.66/163.95 U46(active(x0)) 459.66/163.95 isNatIList(mark(x0)) 459.66/163.95 isNatIList(active(x0)) 459.66/163.95 U51(mark(x0), x1) 459.66/163.95 U51(x0, mark(x1)) 459.66/163.95 U51(active(x0), x1) 459.66/163.95 U51(x0, active(x1)) 459.66/163.95 U52(mark(x0)) 459.66/163.95 U52(active(x0)) 459.66/163.95 U61(mark(x0)) 459.66/163.95 U61(active(x0)) 459.66/163.95 U71(mark(x0)) 459.66/163.95 U71(active(x0)) 459.66/163.95 U81(mark(x0), x1, x2) 459.66/163.95 U81(x0, mark(x1), x2) 459.66/163.95 U81(x0, x1, mark(x2)) 459.66/163.95 U81(active(x0), x1, x2) 459.66/163.95 U81(x0, active(x1), x2) 459.66/163.95 U81(x0, x1, active(x2)) 459.66/163.95 U82(mark(x0), x1, x2) 459.66/163.95 U82(x0, mark(x1), x2) 459.66/163.95 U82(x0, x1, mark(x2)) 459.66/163.95 U82(active(x0), x1, x2) 459.66/163.95 U82(x0, active(x1), x2) 459.66/163.95 U82(x0, x1, active(x2)) 459.66/163.95 U83(mark(x0), x1, x2) 459.66/163.95 U83(x0, mark(x1), x2) 459.66/163.95 U83(x0, x1, mark(x2)) 459.66/163.95 U83(active(x0), x1, x2) 459.66/163.95 U83(x0, active(x1), x2) 459.66/163.95 U83(x0, x1, active(x2)) 459.66/163.95 U84(mark(x0), x1, x2) 459.66/163.95 U84(x0, mark(x1), x2) 459.66/163.95 U84(x0, x1, mark(x2)) 459.66/163.95 U84(active(x0), x1, x2) 459.66/163.95 U84(x0, active(x1), x2) 459.66/163.95 U84(x0, x1, active(x2)) 459.66/163.95 U85(mark(x0), x1) 459.66/163.95 U85(x0, mark(x1)) 459.66/163.95 U85(active(x0), x1) 459.66/163.95 U85(x0, active(x1)) 459.66/163.95 U86(mark(x0)) 459.66/163.95 U86(active(x0)) 459.66/163.95 U91(mark(x0), x1, x2) 459.66/163.95 U91(x0, mark(x1), x2) 459.66/163.95 U91(x0, x1, mark(x2)) 459.66/163.95 U91(active(x0), x1, x2) 459.66/163.95 U91(x0, active(x1), x2) 459.66/163.95 U91(x0, x1, active(x2)) 459.66/163.95 U92(mark(x0), x1, x2) 459.66/163.95 U92(x0, mark(x1), x2) 459.66/163.95 U92(x0, x1, mark(x2)) 459.66/163.95 U92(active(x0), x1, x2) 459.66/163.95 U92(x0, active(x1), x2) 459.66/163.95 U92(x0, x1, active(x2)) 459.66/163.95 U93(mark(x0), x1, x2) 459.66/163.95 U93(x0, mark(x1), x2) 459.66/163.95 U93(x0, x1, mark(x2)) 459.66/163.95 U93(active(x0), x1, x2) 459.66/163.95 U93(x0, active(x1), x2) 459.66/163.95 U93(x0, x1, active(x2)) 459.66/163.95 U94(mark(x0), x1) 459.66/163.95 U94(x0, mark(x1)) 459.66/163.95 U94(active(x0), x1) 459.66/163.95 U94(x0, active(x1)) 459.66/163.95 s(mark(x0)) 459.66/163.95 s(active(x0)) 459.66/163.95 length(mark(x0)) 459.66/163.95 length(active(x0)) 459.66/163.95 459.66/163.95 459.66/163.95 ---------------------------------------- 459.66/163.95 459.66/163.95 (1) DependencyPairsProof (EQUIVALENT) 459.66/163.95 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 459.66/163.95 ---------------------------------------- 459.66/163.95 459.66/163.95 (2) 459.66/163.95 Obligation: 459.66/163.95 Q DP problem: 459.66/163.95 The TRS P consists of the following rules: 459.66/163.95 459.66/163.95 ACTIVE(zeros) -> MARK(cons(0, zeros)) 459.66/163.95 ACTIVE(zeros) -> CONS(0, zeros) 459.66/163.95 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 459.66/163.95 ACTIVE(U11(tt, V1)) -> U12^1(isNatIListKind(V1), V1) 459.66/163.95 ACTIVE(U11(tt, V1)) -> ISNATILISTKIND(V1) 459.66/163.95 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 459.66/163.95 ACTIVE(U12(tt, V1)) -> U13^1(isNatList(V1)) 459.66/163.95 ACTIVE(U12(tt, V1)) -> ISNATLIST(V1) 459.66/163.95 ACTIVE(U13(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 459.66/163.95 ACTIVE(U21(tt, V1)) -> U22^1(isNatKind(V1), V1) 459.66/163.95 ACTIVE(U21(tt, V1)) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 459.66/163.95 ACTIVE(U22(tt, V1)) -> U23^1(isNat(V1)) 459.66/163.95 ACTIVE(U22(tt, V1)) -> ISNAT(V1) 459.66/163.95 ACTIVE(U23(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 459.66/163.95 ACTIVE(U31(tt, V)) -> U32^1(isNatIListKind(V), V) 459.66/163.95 ACTIVE(U31(tt, V)) -> ISNATILISTKIND(V) 459.66/163.95 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 459.66/163.95 ACTIVE(U32(tt, V)) -> U33^1(isNatList(V)) 459.66/163.95 ACTIVE(U32(tt, V)) -> ISNATLIST(V) 459.66/163.95 ACTIVE(U33(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 459.66/163.95 ACTIVE(U41(tt, V1, V2)) -> U42^1(isNatKind(V1), V1, V2) 459.66/163.95 ACTIVE(U41(tt, V1, V2)) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 459.66/163.95 ACTIVE(U42(tt, V1, V2)) -> U43^1(isNatIListKind(V2), V1, V2) 459.66/163.95 ACTIVE(U42(tt, V1, V2)) -> ISNATILISTKIND(V2) 459.66/163.95 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 459.66/163.95 ACTIVE(U43(tt, V1, V2)) -> U44^1(isNatIListKind(V2), V1, V2) 459.66/163.95 ACTIVE(U43(tt, V1, V2)) -> ISNATILISTKIND(V2) 459.66/163.95 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 459.66/163.95 ACTIVE(U44(tt, V1, V2)) -> U45^1(isNat(V1), V2) 459.66/163.95 ACTIVE(U44(tt, V1, V2)) -> ISNAT(V1) 459.66/163.95 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 459.66/163.95 ACTIVE(U45(tt, V2)) -> U46^1(isNatIList(V2)) 459.66/163.95 ACTIVE(U45(tt, V2)) -> ISNATILIST(V2) 459.66/163.95 ACTIVE(U46(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 459.66/163.95 ACTIVE(U51(tt, V2)) -> U52^1(isNatIListKind(V2)) 459.66/163.95 ACTIVE(U51(tt, V2)) -> ISNATILISTKIND(V2) 459.66/163.95 ACTIVE(U52(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U61(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U71(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 459.66/163.95 ACTIVE(U81(tt, V1, V2)) -> U82^1(isNatKind(V1), V1, V2) 459.66/163.95 ACTIVE(U81(tt, V1, V2)) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 459.66/163.95 ACTIVE(U82(tt, V1, V2)) -> U83^1(isNatIListKind(V2), V1, V2) 459.66/163.95 ACTIVE(U82(tt, V1, V2)) -> ISNATILISTKIND(V2) 459.66/163.95 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 459.66/163.95 ACTIVE(U83(tt, V1, V2)) -> U84^1(isNatIListKind(V2), V1, V2) 459.66/163.95 ACTIVE(U83(tt, V1, V2)) -> ISNATILISTKIND(V2) 459.66/163.95 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 459.66/163.95 ACTIVE(U84(tt, V1, V2)) -> U85^1(isNat(V1), V2) 459.66/163.95 ACTIVE(U84(tt, V1, V2)) -> ISNAT(V1) 459.66/163.95 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 459.66/163.95 ACTIVE(U85(tt, V2)) -> U86^1(isNatList(V2)) 459.66/163.95 ACTIVE(U85(tt, V2)) -> ISNATLIST(V2) 459.66/163.95 ACTIVE(U86(tt)) -> MARK(tt) 459.66/163.95 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 459.66/163.95 ACTIVE(U91(tt, L, N)) -> U92^1(isNatIListKind(L), L, N) 459.66/163.95 ACTIVE(U91(tt, L, N)) -> ISNATILISTKIND(L) 459.66/163.95 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 459.66/163.95 ACTIVE(U92(tt, L, N)) -> U93^1(isNat(N), L, N) 459.66/163.95 ACTIVE(U92(tt, L, N)) -> ISNAT(N) 459.66/163.95 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 459.66/163.95 ACTIVE(U93(tt, L, N)) -> U94^1(isNatKind(N), L) 459.66/163.95 ACTIVE(U93(tt, L, N)) -> ISNATKIND(N) 459.66/163.95 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 459.66/163.95 ACTIVE(U94(tt, L)) -> S(length(L)) 459.66/163.95 ACTIVE(U94(tt, L)) -> LENGTH(L) 459.66/163.95 ACTIVE(isNat(0)) -> MARK(tt) 459.66/163.95 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 459.66/163.95 ACTIVE(isNat(length(V1))) -> U11^1(isNatIListKind(V1), V1) 459.66/163.95 ACTIVE(isNat(length(V1))) -> ISNATILISTKIND(V1) 459.66/163.95 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 459.66/163.95 ACTIVE(isNat(s(V1))) -> U21^1(isNatKind(V1), V1) 459.66/163.95 ACTIVE(isNat(s(V1))) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 459.66/163.95 ACTIVE(isNatIList(V)) -> U31^1(isNatIListKind(V), V) 459.66/163.95 ACTIVE(isNatIList(V)) -> ISNATILISTKIND(V) 459.66/163.95 ACTIVE(isNatIList(zeros)) -> MARK(tt) 459.66/163.95 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 459.66/163.95 ACTIVE(isNatIList(cons(V1, V2))) -> U41^1(isNatKind(V1), V1, V2) 459.66/163.95 ACTIVE(isNatIList(cons(V1, V2))) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(isNatIListKind(nil)) -> MARK(tt) 459.66/163.95 ACTIVE(isNatIListKind(zeros)) -> MARK(tt) 459.66/163.95 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 459.66/163.95 ACTIVE(isNatIListKind(cons(V1, V2))) -> U51^1(isNatKind(V1), V2) 459.66/163.95 ACTIVE(isNatIListKind(cons(V1, V2))) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(isNatKind(0)) -> MARK(tt) 459.66/163.95 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 459.66/163.95 ACTIVE(isNatKind(length(V1))) -> U61^1(isNatIListKind(V1)) 459.66/163.95 ACTIVE(isNatKind(length(V1))) -> ISNATILISTKIND(V1) 459.66/163.95 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 459.66/163.95 ACTIVE(isNatKind(s(V1))) -> U71^1(isNatKind(V1)) 459.66/163.95 ACTIVE(isNatKind(s(V1))) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(isNatList(nil)) -> MARK(tt) 459.66/163.95 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 459.66/163.95 ACTIVE(isNatList(cons(V1, V2))) -> U81^1(isNatKind(V1), V1, V2) 459.66/163.95 ACTIVE(isNatList(cons(V1, V2))) -> ISNATKIND(V1) 459.66/163.95 ACTIVE(length(nil)) -> MARK(0) 459.66/163.95 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 459.66/163.95 ACTIVE(length(cons(N, L))) -> U91^1(isNatList(L), L, N) 459.66/163.95 ACTIVE(length(cons(N, L))) -> ISNATLIST(L) 459.66/163.95 MARK(zeros) -> ACTIVE(zeros) 459.66/163.95 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 459.66/163.95 MARK(cons(X1, X2)) -> CONS(mark(X1), X2) 459.66/163.95 MARK(cons(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(0) -> ACTIVE(0) 459.66/163.95 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 459.66/163.95 MARK(U11(X1, X2)) -> U11^1(mark(X1), X2) 459.66/163.95 MARK(U11(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(tt) -> ACTIVE(tt) 459.66/163.95 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 459.66/163.95 MARK(U12(X1, X2)) -> U12^1(mark(X1), X2) 459.66/163.95 MARK(U12(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 459.66/163.95 MARK(U13(X)) -> ACTIVE(U13(mark(X))) 459.66/163.95 MARK(U13(X)) -> U13^1(mark(X)) 459.66/163.95 MARK(U13(X)) -> MARK(X) 459.66/163.95 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 459.66/163.95 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 459.66/163.95 MARK(U21(X1, X2)) -> U21^1(mark(X1), X2) 459.66/163.95 MARK(U21(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 459.66/163.95 MARK(U22(X1, X2)) -> U22^1(mark(X1), X2) 459.66/163.95 MARK(U22(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 459.66/163.95 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 459.66/163.95 MARK(U23(X)) -> U23^1(mark(X)) 459.66/163.95 MARK(U23(X)) -> MARK(X) 459.66/163.95 MARK(isNat(X)) -> ACTIVE(isNat(X)) 459.66/163.95 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 459.66/163.95 MARK(U31(X1, X2)) -> U31^1(mark(X1), X2) 459.66/163.95 MARK(U31(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 459.66/163.95 MARK(U32(X1, X2)) -> U32^1(mark(X1), X2) 459.66/163.95 MARK(U32(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U33(X)) -> ACTIVE(U33(mark(X))) 459.66/163.95 MARK(U33(X)) -> U33^1(mark(X)) 459.66/163.95 MARK(U33(X)) -> MARK(X) 459.66/163.95 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 459.66/163.95 MARK(U41(X1, X2, X3)) -> U41^1(mark(X1), X2, X3) 459.66/163.95 MARK(U41(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 459.66/163.95 MARK(U42(X1, X2, X3)) -> U42^1(mark(X1), X2, X3) 459.66/163.95 MARK(U42(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 459.66/163.95 MARK(U43(X1, X2, X3)) -> U43^1(mark(X1), X2, X3) 459.66/163.95 MARK(U43(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 459.66/163.95 MARK(U44(X1, X2, X3)) -> U44^1(mark(X1), X2, X3) 459.66/163.95 MARK(U44(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 459.66/163.95 MARK(U45(X1, X2)) -> U45^1(mark(X1), X2) 459.66/163.95 MARK(U45(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U46(X)) -> ACTIVE(U46(mark(X))) 459.66/163.95 MARK(U46(X)) -> U46^1(mark(X)) 459.66/163.95 MARK(U46(X)) -> MARK(X) 459.66/163.95 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 459.66/163.95 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 459.66/163.95 MARK(U51(X1, X2)) -> U51^1(mark(X1), X2) 459.66/163.95 MARK(U51(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U52(X)) -> ACTIVE(U52(mark(X))) 459.66/163.95 MARK(U52(X)) -> U52^1(mark(X)) 459.66/163.95 MARK(U52(X)) -> MARK(X) 459.66/163.95 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 459.66/163.95 MARK(U61(X)) -> U61^1(mark(X)) 459.66/163.95 MARK(U61(X)) -> MARK(X) 459.66/163.95 MARK(U71(X)) -> ACTIVE(U71(mark(X))) 459.66/163.95 MARK(U71(X)) -> U71^1(mark(X)) 459.66/163.95 MARK(U71(X)) -> MARK(X) 459.66/163.95 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 459.66/163.95 MARK(U81(X1, X2, X3)) -> U81^1(mark(X1), X2, X3) 459.66/163.95 MARK(U81(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 459.66/163.95 MARK(U82(X1, X2, X3)) -> U82^1(mark(X1), X2, X3) 459.66/163.95 MARK(U82(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 459.66/163.95 MARK(U83(X1, X2, X3)) -> U83^1(mark(X1), X2, X3) 459.66/163.95 MARK(U83(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 459.66/163.95 MARK(U84(X1, X2, X3)) -> U84^1(mark(X1), X2, X3) 459.66/163.95 MARK(U84(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 459.66/163.95 MARK(U85(X1, X2)) -> U85^1(mark(X1), X2) 459.66/163.95 MARK(U85(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(U86(X)) -> ACTIVE(U86(mark(X))) 459.66/163.95 MARK(U86(X)) -> U86^1(mark(X)) 459.66/163.95 MARK(U86(X)) -> MARK(X) 459.66/163.95 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 459.66/163.95 MARK(U91(X1, X2, X3)) -> U91^1(mark(X1), X2, X3) 459.66/163.95 MARK(U91(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 459.66/163.95 MARK(U92(X1, X2, X3)) -> U92^1(mark(X1), X2, X3) 459.66/163.95 MARK(U92(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 459.66/163.95 MARK(U93(X1, X2, X3)) -> U93^1(mark(X1), X2, X3) 459.66/163.95 MARK(U93(X1, X2, X3)) -> MARK(X1) 459.66/163.95 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 459.66/163.95 MARK(U94(X1, X2)) -> U94^1(mark(X1), X2) 459.66/163.95 MARK(U94(X1, X2)) -> MARK(X1) 459.66/163.95 MARK(s(X)) -> ACTIVE(s(mark(X))) 459.66/163.95 MARK(s(X)) -> S(mark(X)) 459.66/163.95 MARK(s(X)) -> MARK(X) 459.66/163.95 MARK(length(X)) -> ACTIVE(length(mark(X))) 459.66/163.95 MARK(length(X)) -> LENGTH(mark(X)) 459.66/163.95 MARK(length(X)) -> MARK(X) 459.66/163.95 MARK(nil) -> ACTIVE(nil) 459.66/163.95 CONS(mark(X1), X2) -> CONS(X1, X2) 459.66/163.95 CONS(X1, mark(X2)) -> CONS(X1, X2) 459.66/163.95 CONS(active(X1), X2) -> CONS(X1, X2) 459.66/163.95 CONS(X1, active(X2)) -> CONS(X1, X2) 459.66/163.95 U11^1(mark(X1), X2) -> U11^1(X1, X2) 459.66/163.95 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 459.66/163.95 U11^1(active(X1), X2) -> U11^1(X1, X2) 459.66/163.95 U11^1(X1, active(X2)) -> U11^1(X1, X2) 459.66/163.95 U12^1(mark(X1), X2) -> U12^1(X1, X2) 459.66/163.95 U12^1(X1, mark(X2)) -> U12^1(X1, X2) 459.66/163.95 U12^1(active(X1), X2) -> U12^1(X1, X2) 459.66/163.95 U12^1(X1, active(X2)) -> U12^1(X1, X2) 459.66/163.95 ISNATILISTKIND(mark(X)) -> ISNATILISTKIND(X) 459.66/163.95 ISNATILISTKIND(active(X)) -> ISNATILISTKIND(X) 459.66/163.95 U13^1(mark(X)) -> U13^1(X) 459.66/163.95 U13^1(active(X)) -> U13^1(X) 459.66/163.95 ISNATLIST(mark(X)) -> ISNATLIST(X) 459.66/163.95 ISNATLIST(active(X)) -> ISNATLIST(X) 459.66/163.95 U21^1(mark(X1), X2) -> U21^1(X1, X2) 459.66/163.95 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 459.66/163.95 U21^1(active(X1), X2) -> U21^1(X1, X2) 459.66/163.95 U21^1(X1, active(X2)) -> U21^1(X1, X2) 459.66/163.95 U22^1(mark(X1), X2) -> U22^1(X1, X2) 459.66/163.95 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 459.66/163.95 U22^1(active(X1), X2) -> U22^1(X1, X2) 459.66/163.95 U22^1(X1, active(X2)) -> U22^1(X1, X2) 459.66/163.95 ISNATKIND(mark(X)) -> ISNATKIND(X) 459.66/163.95 ISNATKIND(active(X)) -> ISNATKIND(X) 459.66/163.95 U23^1(mark(X)) -> U23^1(X) 459.66/163.95 U23^1(active(X)) -> U23^1(X) 459.66/163.95 ISNAT(mark(X)) -> ISNAT(X) 459.66/163.95 ISNAT(active(X)) -> ISNAT(X) 459.66/163.95 U31^1(mark(X1), X2) -> U31^1(X1, X2) 459.66/163.95 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 459.66/163.95 U31^1(active(X1), X2) -> U31^1(X1, X2) 459.66/163.95 U31^1(X1, active(X2)) -> U31^1(X1, X2) 459.66/163.95 U32^1(mark(X1), X2) -> U32^1(X1, X2) 459.66/163.95 U32^1(X1, mark(X2)) -> U32^1(X1, X2) 459.66/163.95 U32^1(active(X1), X2) -> U32^1(X1, X2) 459.66/163.95 U32^1(X1, active(X2)) -> U32^1(X1, X2) 459.66/163.95 U33^1(mark(X)) -> U33^1(X) 459.66/163.95 U33^1(active(X)) -> U33^1(X) 459.66/163.95 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 459.66/163.95 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 459.66/163.95 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 459.66/163.95 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 459.66/163.95 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 459.66/163.95 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 459.66/163.95 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 459.66/163.95 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 459.66/163.95 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 459.66/163.95 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 459.66/163.95 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 459.66/163.95 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 459.66/163.95 U43^1(mark(X1), X2, X3) -> U43^1(X1, X2, X3) 459.66/163.95 U43^1(X1, mark(X2), X3) -> U43^1(X1, X2, X3) 459.66/163.95 U43^1(X1, X2, mark(X3)) -> U43^1(X1, X2, X3) 459.66/163.95 U43^1(active(X1), X2, X3) -> U43^1(X1, X2, X3) 459.66/163.95 U43^1(X1, active(X2), X3) -> U43^1(X1, X2, X3) 459.66/163.95 U43^1(X1, X2, active(X3)) -> U43^1(X1, X2, X3) 459.66/163.95 U44^1(mark(X1), X2, X3) -> U44^1(X1, X2, X3) 459.66/163.95 U44^1(X1, mark(X2), X3) -> U44^1(X1, X2, X3) 459.66/163.95 U44^1(X1, X2, mark(X3)) -> U44^1(X1, X2, X3) 459.66/163.95 U44^1(active(X1), X2, X3) -> U44^1(X1, X2, X3) 459.66/163.95 U44^1(X1, active(X2), X3) -> U44^1(X1, X2, X3) 459.66/163.95 U44^1(X1, X2, active(X3)) -> U44^1(X1, X2, X3) 459.66/163.95 U45^1(mark(X1), X2) -> U45^1(X1, X2) 459.66/163.95 U45^1(X1, mark(X2)) -> U45^1(X1, X2) 459.66/163.95 U45^1(active(X1), X2) -> U45^1(X1, X2) 459.66/163.95 U45^1(X1, active(X2)) -> U45^1(X1, X2) 459.66/163.95 U46^1(mark(X)) -> U46^1(X) 459.66/163.95 U46^1(active(X)) -> U46^1(X) 459.66/163.95 ISNATILIST(mark(X)) -> ISNATILIST(X) 459.66/163.95 ISNATILIST(active(X)) -> ISNATILIST(X) 459.66/163.95 U51^1(mark(X1), X2) -> U51^1(X1, X2) 459.66/163.95 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 459.66/163.95 U51^1(active(X1), X2) -> U51^1(X1, X2) 459.66/163.95 U51^1(X1, active(X2)) -> U51^1(X1, X2) 459.66/163.95 U52^1(mark(X)) -> U52^1(X) 459.66/163.95 U52^1(active(X)) -> U52^1(X) 459.66/163.95 U61^1(mark(X)) -> U61^1(X) 459.66/163.95 U61^1(active(X)) -> U61^1(X) 459.66/163.95 U71^1(mark(X)) -> U71^1(X) 459.66/163.95 U71^1(active(X)) -> U71^1(X) 459.66/163.95 U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) 459.66/163.95 U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) 459.66/163.95 U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) 459.66/163.95 U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) 459.66/163.95 U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) 459.66/163.95 U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) 459.66/163.95 U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) 459.66/163.95 U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) 459.66/163.95 U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) 459.66/163.95 U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) 459.66/163.95 U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) 459.66/163.95 U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) 459.66/163.95 U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) 459.66/163.95 U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) 459.66/163.95 U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) 459.66/163.95 U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) 459.66/163.95 U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) 459.66/163.95 U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) 459.66/163.95 U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) 459.66/163.95 U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) 459.66/163.95 U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) 459.66/163.95 U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) 459.66/163.95 U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) 459.66/163.95 U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) 459.66/163.95 U85^1(mark(X1), X2) -> U85^1(X1, X2) 459.66/163.95 U85^1(X1, mark(X2)) -> U85^1(X1, X2) 459.66/163.95 U85^1(active(X1), X2) -> U85^1(X1, X2) 459.66/163.95 U85^1(X1, active(X2)) -> U85^1(X1, X2) 459.66/163.95 U86^1(mark(X)) -> U86^1(X) 459.66/163.95 U86^1(active(X)) -> U86^1(X) 459.66/163.95 U91^1(mark(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.95 U91^1(X1, mark(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.95 U91^1(X1, X2, mark(X3)) -> U91^1(X1, X2, X3) 459.66/163.95 U91^1(active(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.95 U91^1(X1, active(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.95 U91^1(X1, X2, active(X3)) -> U91^1(X1, X2, X3) 459.66/163.95 U92^1(mark(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.95 U92^1(X1, mark(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.95 U92^1(X1, X2, mark(X3)) -> U92^1(X1, X2, X3) 459.66/163.95 U92^1(active(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.95 U92^1(X1, active(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.95 U92^1(X1, X2, active(X3)) -> U92^1(X1, X2, X3) 459.66/163.95 U93^1(mark(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.95 U93^1(X1, mark(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.95 U93^1(X1, X2, mark(X3)) -> U93^1(X1, X2, X3) 459.66/163.95 U93^1(active(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.95 U93^1(X1, active(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.95 U93^1(X1, X2, active(X3)) -> U93^1(X1, X2, X3) 459.66/163.95 U94^1(mark(X1), X2) -> U94^1(X1, X2) 459.66/163.95 U94^1(X1, mark(X2)) -> U94^1(X1, X2) 459.66/163.95 U94^1(active(X1), X2) -> U94^1(X1, X2) 459.66/163.95 U94^1(X1, active(X2)) -> U94^1(X1, X2) 459.66/163.95 S(mark(X)) -> S(X) 459.66/163.95 S(active(X)) -> S(X) 459.66/163.95 LENGTH(mark(X)) -> LENGTH(X) 459.66/163.95 LENGTH(active(X)) -> LENGTH(X) 459.66/163.95 459.66/163.95 The TRS R consists of the following rules: 459.66/163.95 459.66/163.95 active(zeros) -> mark(cons(0, zeros)) 459.66/163.95 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.95 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.95 active(U13(tt)) -> mark(tt) 459.66/163.95 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.95 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.95 active(U23(tt)) -> mark(tt) 459.66/163.95 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.95 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.95 active(U33(tt)) -> mark(tt) 459.66/163.95 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.95 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.95 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.95 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.95 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.95 active(U46(tt)) -> mark(tt) 459.66/163.95 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.95 active(U52(tt)) -> mark(tt) 459.66/163.95 active(U61(tt)) -> mark(tt) 459.66/163.95 active(U71(tt)) -> mark(tt) 459.66/163.95 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.95 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.95 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.95 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.95 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.95 active(U86(tt)) -> mark(tt) 459.66/163.95 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.95 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.95 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.95 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.95 active(isNat(0)) -> mark(tt) 459.66/163.95 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.95 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.95 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.95 active(isNatIList(zeros)) -> mark(tt) 459.66/163.95 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.95 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.95 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.95 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.95 active(isNatKind(0)) -> mark(tt) 459.66/163.95 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.95 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.95 active(isNatList(nil)) -> mark(tt) 459.66/163.95 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.95 active(length(nil)) -> mark(0) 459.66/163.95 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.95 mark(zeros) -> active(zeros) 459.66/163.95 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.95 mark(0) -> active(0) 459.66/163.95 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.95 mark(tt) -> active(tt) 459.66/163.95 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.95 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.95 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.95 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.95 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.95 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.95 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.95 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.95 mark(isNat(X)) -> active(isNat(X)) 459.66/163.95 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.95 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.95 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.95 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.95 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.95 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.95 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.95 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.95 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.95 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.95 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.95 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.95 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.95 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.95 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.95 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.95 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.95 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.95 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.95 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.95 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.95 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.95 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.95 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.95 mark(s(X)) -> active(s(mark(X))) 459.66/163.95 mark(length(X)) -> active(length(mark(X))) 459.66/163.95 mark(nil) -> active(nil) 459.66/163.95 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.95 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.95 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.95 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.95 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.95 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.95 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.95 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.95 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.95 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.95 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.95 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.95 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.95 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.95 U13(mark(X)) -> U13(X) 459.66/163.95 U13(active(X)) -> U13(X) 459.66/163.95 isNatList(mark(X)) -> isNatList(X) 459.66/163.95 isNatList(active(X)) -> isNatList(X) 459.66/163.95 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.95 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.95 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.95 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.95 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.95 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.95 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.95 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.95 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.95 isNatKind(active(X)) -> isNatKind(X) 459.66/163.95 U23(mark(X)) -> U23(X) 459.66/163.95 U23(active(X)) -> U23(X) 459.66/163.95 isNat(mark(X)) -> isNat(X) 459.66/163.95 isNat(active(X)) -> isNat(X) 459.66/163.95 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.95 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.95 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.95 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.95 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.95 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.95 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.95 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.95 U33(mark(X)) -> U33(X) 459.66/163.95 U33(active(X)) -> U33(X) 459.66/163.95 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.95 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.95 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.95 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.95 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.95 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.95 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.95 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.95 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.95 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.95 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.95 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.95 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.95 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.95 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.95 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.95 U46(mark(X)) -> U46(X) 459.66/163.95 U46(active(X)) -> U46(X) 459.66/163.95 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.95 isNatIList(active(X)) -> isNatIList(X) 459.66/163.95 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.95 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.95 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.95 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.95 U52(mark(X)) -> U52(X) 459.66/163.95 U52(active(X)) -> U52(X) 459.66/163.95 U61(mark(X)) -> U61(X) 459.66/163.95 U61(active(X)) -> U61(X) 459.66/163.95 U71(mark(X)) -> U71(X) 459.66/163.95 U71(active(X)) -> U71(X) 459.66/163.95 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.95 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.95 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.95 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.95 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.95 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.95 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.95 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.95 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.95 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.95 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.95 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.95 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.95 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.95 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.95 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.95 U86(mark(X)) -> U86(X) 459.66/163.95 U86(active(X)) -> U86(X) 459.66/163.95 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.95 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.95 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.95 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.95 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.95 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.95 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.95 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.95 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.95 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.95 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.95 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.95 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.95 s(mark(X)) -> s(X) 459.66/163.95 s(active(X)) -> s(X) 459.66/163.95 length(mark(X)) -> length(X) 459.66/163.95 length(active(X)) -> length(X) 459.66/163.95 459.66/163.95 The set Q consists of the following terms: 459.66/163.95 459.66/163.95 active(zeros) 459.66/163.95 active(U11(tt, x0)) 459.66/163.95 active(U12(tt, x0)) 459.66/163.95 active(U13(tt)) 459.66/163.95 active(U21(tt, x0)) 459.66/163.95 active(U22(tt, x0)) 459.66/163.95 active(U23(tt)) 459.66/163.95 active(U31(tt, x0)) 459.66/163.95 active(U32(tt, x0)) 459.66/163.95 active(U33(tt)) 459.66/163.95 active(U41(tt, x0, x1)) 459.66/163.95 active(U42(tt, x0, x1)) 459.66/163.95 active(U43(tt, x0, x1)) 459.66/163.95 active(U44(tt, x0, x1)) 459.66/163.95 active(U45(tt, x0)) 459.66/163.95 active(U46(tt)) 459.66/163.95 active(U51(tt, x0)) 459.66/163.95 active(U52(tt)) 459.66/163.95 active(U61(tt)) 459.66/163.95 active(U71(tt)) 459.66/163.95 active(U81(tt, x0, x1)) 459.66/163.95 active(U82(tt, x0, x1)) 459.66/163.95 active(U83(tt, x0, x1)) 459.66/163.95 active(U84(tt, x0, x1)) 459.66/163.95 active(U85(tt, x0)) 459.66/163.95 active(U86(tt)) 459.66/163.95 active(U91(tt, x0, x1)) 459.66/163.95 active(U92(tt, x0, x1)) 459.66/163.95 active(U93(tt, x0, x1)) 459.66/163.95 active(U94(tt, x0)) 459.66/163.95 active(isNat(0)) 459.66/163.95 active(isNat(length(x0))) 459.66/163.95 active(isNat(s(x0))) 459.66/163.95 active(isNatIList(x0)) 459.66/163.95 active(isNatIListKind(nil)) 459.66/163.95 active(isNatIListKind(zeros)) 459.66/163.95 active(isNatIListKind(cons(x0, x1))) 459.66/163.95 active(isNatKind(0)) 459.66/163.95 active(isNatKind(length(x0))) 459.66/163.95 active(isNatKind(s(x0))) 459.66/163.95 active(isNatList(nil)) 459.66/163.95 active(isNatList(cons(x0, x1))) 459.66/163.95 active(length(nil)) 459.66/163.95 active(length(cons(x0, x1))) 459.66/163.95 mark(zeros) 459.66/163.95 mark(cons(x0, x1)) 459.66/163.95 mark(0) 459.66/163.95 mark(U11(x0, x1)) 459.66/163.95 mark(tt) 459.66/163.95 mark(U12(x0, x1)) 459.66/163.95 mark(isNatIListKind(x0)) 459.66/163.95 mark(U13(x0)) 459.66/163.95 mark(isNatList(x0)) 459.66/163.95 mark(U21(x0, x1)) 459.66/163.95 mark(U22(x0, x1)) 459.66/163.95 mark(isNatKind(x0)) 459.66/163.95 mark(U23(x0)) 459.66/163.95 mark(isNat(x0)) 459.66/163.95 mark(U31(x0, x1)) 459.66/163.95 mark(U32(x0, x1)) 459.66/163.95 mark(U33(x0)) 459.66/163.95 mark(U41(x0, x1, x2)) 459.66/163.95 mark(U42(x0, x1, x2)) 459.66/163.95 mark(U43(x0, x1, x2)) 459.66/163.95 mark(U44(x0, x1, x2)) 459.66/163.95 mark(U45(x0, x1)) 459.66/163.95 mark(U46(x0)) 459.66/163.95 mark(isNatIList(x0)) 459.66/163.95 mark(U51(x0, x1)) 459.66/163.95 mark(U52(x0)) 459.66/163.95 mark(U61(x0)) 459.66/163.95 mark(U71(x0)) 459.66/163.95 mark(U81(x0, x1, x2)) 459.66/163.95 mark(U82(x0, x1, x2)) 459.66/163.95 mark(U83(x0, x1, x2)) 459.66/163.95 mark(U84(x0, x1, x2)) 459.66/163.95 mark(U85(x0, x1)) 459.66/163.95 mark(U86(x0)) 459.66/163.95 mark(U91(x0, x1, x2)) 459.66/163.95 mark(U92(x0, x1, x2)) 459.66/163.95 mark(U93(x0, x1, x2)) 459.66/163.95 mark(U94(x0, x1)) 459.66/163.95 mark(s(x0)) 459.66/163.95 mark(length(x0)) 459.66/163.95 mark(nil) 459.66/163.95 cons(mark(x0), x1) 459.66/163.95 cons(x0, mark(x1)) 459.66/163.95 cons(active(x0), x1) 459.66/163.95 cons(x0, active(x1)) 459.66/163.95 U11(mark(x0), x1) 459.66/163.95 U11(x0, mark(x1)) 459.66/163.95 U11(active(x0), x1) 459.66/163.95 U11(x0, active(x1)) 459.66/163.95 U12(mark(x0), x1) 459.66/163.95 U12(x0, mark(x1)) 459.66/163.95 U12(active(x0), x1) 459.66/163.95 U12(x0, active(x1)) 459.66/163.95 isNatIListKind(mark(x0)) 459.66/163.95 isNatIListKind(active(x0)) 459.66/163.95 U13(mark(x0)) 459.66/163.95 U13(active(x0)) 459.66/163.95 isNatList(mark(x0)) 459.66/163.95 isNatList(active(x0)) 459.66/163.95 U21(mark(x0), x1) 459.66/163.95 U21(x0, mark(x1)) 459.66/163.95 U21(active(x0), x1) 459.66/163.95 U21(x0, active(x1)) 459.66/163.95 U22(mark(x0), x1) 459.66/163.95 U22(x0, mark(x1)) 459.66/163.95 U22(active(x0), x1) 459.66/163.95 U22(x0, active(x1)) 459.66/163.95 isNatKind(mark(x0)) 459.66/163.95 isNatKind(active(x0)) 459.66/163.95 U23(mark(x0)) 459.66/163.95 U23(active(x0)) 459.66/163.95 isNat(mark(x0)) 459.66/163.95 isNat(active(x0)) 459.66/163.95 U31(mark(x0), x1) 459.66/163.95 U31(x0, mark(x1)) 459.66/163.95 U31(active(x0), x1) 459.66/163.95 U31(x0, active(x1)) 459.66/163.95 U32(mark(x0), x1) 459.66/163.95 U32(x0, mark(x1)) 459.66/163.95 U32(active(x0), x1) 459.66/163.95 U32(x0, active(x1)) 459.66/163.95 U33(mark(x0)) 459.66/163.95 U33(active(x0)) 459.66/163.95 U41(mark(x0), x1, x2) 459.66/163.95 U41(x0, mark(x1), x2) 459.66/163.95 U41(x0, x1, mark(x2)) 459.66/163.95 U41(active(x0), x1, x2) 459.66/163.96 U41(x0, active(x1), x2) 459.66/163.96 U41(x0, x1, active(x2)) 459.66/163.96 U42(mark(x0), x1, x2) 459.66/163.96 U42(x0, mark(x1), x2) 459.66/163.96 U42(x0, x1, mark(x2)) 459.66/163.96 U42(active(x0), x1, x2) 459.66/163.96 U42(x0, active(x1), x2) 459.66/163.96 U42(x0, x1, active(x2)) 459.66/163.96 U43(mark(x0), x1, x2) 459.66/163.96 U43(x0, mark(x1), x2) 459.66/163.96 U43(x0, x1, mark(x2)) 459.66/163.96 U43(active(x0), x1, x2) 459.66/163.96 U43(x0, active(x1), x2) 459.66/163.96 U43(x0, x1, active(x2)) 459.66/163.96 U44(mark(x0), x1, x2) 459.66/163.96 U44(x0, mark(x1), x2) 459.66/163.96 U44(x0, x1, mark(x2)) 459.66/163.96 U44(active(x0), x1, x2) 459.66/163.96 U44(x0, active(x1), x2) 459.66/163.96 U44(x0, x1, active(x2)) 459.66/163.96 U45(mark(x0), x1) 459.66/163.96 U45(x0, mark(x1)) 459.66/163.96 U45(active(x0), x1) 459.66/163.96 U45(x0, active(x1)) 459.66/163.96 U46(mark(x0)) 459.66/163.96 U46(active(x0)) 459.66/163.96 isNatIList(mark(x0)) 459.66/163.96 isNatIList(active(x0)) 459.66/163.96 U51(mark(x0), x1) 459.66/163.96 U51(x0, mark(x1)) 459.66/163.96 U51(active(x0), x1) 459.66/163.96 U51(x0, active(x1)) 459.66/163.96 U52(mark(x0)) 459.66/163.96 U52(active(x0)) 459.66/163.96 U61(mark(x0)) 459.66/163.96 U61(active(x0)) 459.66/163.96 U71(mark(x0)) 459.66/163.96 U71(active(x0)) 459.66/163.96 U81(mark(x0), x1, x2) 459.66/163.96 U81(x0, mark(x1), x2) 459.66/163.96 U81(x0, x1, mark(x2)) 459.66/163.96 U81(active(x0), x1, x2) 459.66/163.96 U81(x0, active(x1), x2) 459.66/163.96 U81(x0, x1, active(x2)) 459.66/163.96 U82(mark(x0), x1, x2) 459.66/163.96 U82(x0, mark(x1), x2) 459.66/163.96 U82(x0, x1, mark(x2)) 459.66/163.96 U82(active(x0), x1, x2) 459.66/163.96 U82(x0, active(x1), x2) 459.66/163.96 U82(x0, x1, active(x2)) 459.66/163.96 U83(mark(x0), x1, x2) 459.66/163.96 U83(x0, mark(x1), x2) 459.66/163.96 U83(x0, x1, mark(x2)) 459.66/163.96 U83(active(x0), x1, x2) 459.66/163.96 U83(x0, active(x1), x2) 459.66/163.96 U83(x0, x1, active(x2)) 459.66/163.96 U84(mark(x0), x1, x2) 459.66/163.96 U84(x0, mark(x1), x2) 459.66/163.96 U84(x0, x1, mark(x2)) 459.66/163.96 U84(active(x0), x1, x2) 459.66/163.96 U84(x0, active(x1), x2) 459.66/163.96 U84(x0, x1, active(x2)) 459.66/163.96 U85(mark(x0), x1) 459.66/163.96 U85(x0, mark(x1)) 459.66/163.96 U85(active(x0), x1) 459.66/163.96 U85(x0, active(x1)) 459.66/163.96 U86(mark(x0)) 459.66/163.96 U86(active(x0)) 459.66/163.96 U91(mark(x0), x1, x2) 459.66/163.96 U91(x0, mark(x1), x2) 459.66/163.96 U91(x0, x1, mark(x2)) 459.66/163.96 U91(active(x0), x1, x2) 459.66/163.96 U91(x0, active(x1), x2) 459.66/163.96 U91(x0, x1, active(x2)) 459.66/163.96 U92(mark(x0), x1, x2) 459.66/163.96 U92(x0, mark(x1), x2) 459.66/163.96 U92(x0, x1, mark(x2)) 459.66/163.96 U92(active(x0), x1, x2) 459.66/163.96 U92(x0, active(x1), x2) 459.66/163.96 U92(x0, x1, active(x2)) 459.66/163.96 U93(mark(x0), x1, x2) 459.66/163.96 U93(x0, mark(x1), x2) 459.66/163.96 U93(x0, x1, mark(x2)) 459.66/163.96 U93(active(x0), x1, x2) 459.66/163.96 U93(x0, active(x1), x2) 459.66/163.96 U93(x0, x1, active(x2)) 459.66/163.96 U94(mark(x0), x1) 459.66/163.96 U94(x0, mark(x1)) 459.66/163.96 U94(active(x0), x1) 459.66/163.96 U94(x0, active(x1)) 459.66/163.96 s(mark(x0)) 459.66/163.96 s(active(x0)) 459.66/163.96 length(mark(x0)) 459.66/163.96 length(active(x0)) 459.66/163.96 459.66/163.96 We have to consider all minimal (P,Q,R)-chains. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (3) DependencyGraphProof (EQUIVALENT) 459.66/163.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 38 SCCs with 111 less nodes. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (4) 459.66/163.96 Complex Obligation (AND) 459.66/163.96 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (5) 459.66/163.96 Obligation: 459.66/163.96 Q DP problem: 459.66/163.96 The TRS P consists of the following rules: 459.66/163.96 459.66/163.96 LENGTH(active(X)) -> LENGTH(X) 459.66/163.96 LENGTH(mark(X)) -> LENGTH(X) 459.66/163.96 459.66/163.96 The TRS R consists of the following rules: 459.66/163.96 459.66/163.96 active(zeros) -> mark(cons(0, zeros)) 459.66/163.96 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.96 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.96 active(U13(tt)) -> mark(tt) 459.66/163.96 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.96 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.96 active(U23(tt)) -> mark(tt) 459.66/163.96 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.96 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.96 active(U33(tt)) -> mark(tt) 459.66/163.96 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.96 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.96 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.96 active(U46(tt)) -> mark(tt) 459.66/163.96 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.96 active(U52(tt)) -> mark(tt) 459.66/163.96 active(U61(tt)) -> mark(tt) 459.66/163.96 active(U71(tt)) -> mark(tt) 459.66/163.96 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.96 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.96 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.96 active(U86(tt)) -> mark(tt) 459.66/163.96 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.96 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.96 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.96 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.96 active(isNat(0)) -> mark(tt) 459.66/163.96 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.96 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.96 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.96 active(isNatIList(zeros)) -> mark(tt) 459.66/163.96 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.96 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.96 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.96 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.96 active(isNatKind(0)) -> mark(tt) 459.66/163.96 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.96 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.96 active(isNatList(nil)) -> mark(tt) 459.66/163.96 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.96 active(length(nil)) -> mark(0) 459.66/163.96 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.96 mark(zeros) -> active(zeros) 459.66/163.96 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.96 mark(0) -> active(0) 459.66/163.96 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.96 mark(tt) -> active(tt) 459.66/163.96 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.96 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.96 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.96 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.96 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.96 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.96 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.96 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.96 mark(isNat(X)) -> active(isNat(X)) 459.66/163.96 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.96 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.96 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.96 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.96 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.96 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.96 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.96 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.96 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.96 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.96 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.96 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.96 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.96 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.96 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.96 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.96 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.96 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.96 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.96 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.96 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.96 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.96 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.96 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.96 mark(s(X)) -> active(s(mark(X))) 459.66/163.96 mark(length(X)) -> active(length(mark(X))) 459.66/163.96 mark(nil) -> active(nil) 459.66/163.96 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.96 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.96 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.96 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.96 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.96 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.96 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.96 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.96 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.96 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.96 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.96 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.96 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.96 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.96 U13(mark(X)) -> U13(X) 459.66/163.96 U13(active(X)) -> U13(X) 459.66/163.96 isNatList(mark(X)) -> isNatList(X) 459.66/163.96 isNatList(active(X)) -> isNatList(X) 459.66/163.96 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.96 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.96 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.96 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.96 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.96 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.96 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.96 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.96 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.96 isNatKind(active(X)) -> isNatKind(X) 459.66/163.96 U23(mark(X)) -> U23(X) 459.66/163.96 U23(active(X)) -> U23(X) 459.66/163.96 isNat(mark(X)) -> isNat(X) 459.66/163.96 isNat(active(X)) -> isNat(X) 459.66/163.96 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.96 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.96 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.96 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.96 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.96 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.96 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.96 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.96 U33(mark(X)) -> U33(X) 459.66/163.96 U33(active(X)) -> U33(X) 459.66/163.96 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.96 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.96 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.96 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.96 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.96 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.96 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.96 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.96 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.96 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.96 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.96 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.96 U46(mark(X)) -> U46(X) 459.66/163.96 U46(active(X)) -> U46(X) 459.66/163.96 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.96 isNatIList(active(X)) -> isNatIList(X) 459.66/163.96 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.96 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.96 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.96 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.96 U52(mark(X)) -> U52(X) 459.66/163.96 U52(active(X)) -> U52(X) 459.66/163.96 U61(mark(X)) -> U61(X) 459.66/163.96 U61(active(X)) -> U61(X) 459.66/163.96 U71(mark(X)) -> U71(X) 459.66/163.96 U71(active(X)) -> U71(X) 459.66/163.96 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.96 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.96 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.96 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.96 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.96 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.96 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.96 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.96 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.96 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.96 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.96 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.96 U86(mark(X)) -> U86(X) 459.66/163.96 U86(active(X)) -> U86(X) 459.66/163.96 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.96 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.96 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.96 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.96 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.96 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.96 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.96 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.96 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.96 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.96 s(mark(X)) -> s(X) 459.66/163.96 s(active(X)) -> s(X) 459.66/163.96 length(mark(X)) -> length(X) 459.66/163.96 length(active(X)) -> length(X) 459.66/163.96 459.66/163.96 The set Q consists of the following terms: 459.66/163.96 459.66/163.96 active(zeros) 459.66/163.96 active(U11(tt, x0)) 459.66/163.96 active(U12(tt, x0)) 459.66/163.96 active(U13(tt)) 459.66/163.96 active(U21(tt, x0)) 459.66/163.96 active(U22(tt, x0)) 459.66/163.96 active(U23(tt)) 459.66/163.96 active(U31(tt, x0)) 459.66/163.96 active(U32(tt, x0)) 459.66/163.96 active(U33(tt)) 459.66/163.96 active(U41(tt, x0, x1)) 459.66/163.96 active(U42(tt, x0, x1)) 459.66/163.96 active(U43(tt, x0, x1)) 459.66/163.96 active(U44(tt, x0, x1)) 459.66/163.96 active(U45(tt, x0)) 459.66/163.96 active(U46(tt)) 459.66/163.96 active(U51(tt, x0)) 459.66/163.96 active(U52(tt)) 459.66/163.96 active(U61(tt)) 459.66/163.96 active(U71(tt)) 459.66/163.96 active(U81(tt, x0, x1)) 459.66/163.96 active(U82(tt, x0, x1)) 459.66/163.96 active(U83(tt, x0, x1)) 459.66/163.96 active(U84(tt, x0, x1)) 459.66/163.96 active(U85(tt, x0)) 459.66/163.96 active(U86(tt)) 459.66/163.96 active(U91(tt, x0, x1)) 459.66/163.96 active(U92(tt, x0, x1)) 459.66/163.96 active(U93(tt, x0, x1)) 459.66/163.96 active(U94(tt, x0)) 459.66/163.96 active(isNat(0)) 459.66/163.96 active(isNat(length(x0))) 459.66/163.96 active(isNat(s(x0))) 459.66/163.96 active(isNatIList(x0)) 459.66/163.96 active(isNatIListKind(nil)) 459.66/163.96 active(isNatIListKind(zeros)) 459.66/163.96 active(isNatIListKind(cons(x0, x1))) 459.66/163.96 active(isNatKind(0)) 459.66/163.96 active(isNatKind(length(x0))) 459.66/163.96 active(isNatKind(s(x0))) 459.66/163.96 active(isNatList(nil)) 459.66/163.96 active(isNatList(cons(x0, x1))) 459.66/163.96 active(length(nil)) 459.66/163.96 active(length(cons(x0, x1))) 459.66/163.96 mark(zeros) 459.66/163.96 mark(cons(x0, x1)) 459.66/163.96 mark(0) 459.66/163.96 mark(U11(x0, x1)) 459.66/163.96 mark(tt) 459.66/163.96 mark(U12(x0, x1)) 459.66/163.96 mark(isNatIListKind(x0)) 459.66/163.96 mark(U13(x0)) 459.66/163.96 mark(isNatList(x0)) 459.66/163.96 mark(U21(x0, x1)) 459.66/163.96 mark(U22(x0, x1)) 459.66/163.96 mark(isNatKind(x0)) 459.66/163.96 mark(U23(x0)) 459.66/163.96 mark(isNat(x0)) 459.66/163.96 mark(U31(x0, x1)) 459.66/163.96 mark(U32(x0, x1)) 459.66/163.96 mark(U33(x0)) 459.66/163.96 mark(U41(x0, x1, x2)) 459.66/163.96 mark(U42(x0, x1, x2)) 459.66/163.96 mark(U43(x0, x1, x2)) 459.66/163.96 mark(U44(x0, x1, x2)) 459.66/163.96 mark(U45(x0, x1)) 459.66/163.96 mark(U46(x0)) 459.66/163.96 mark(isNatIList(x0)) 459.66/163.96 mark(U51(x0, x1)) 459.66/163.96 mark(U52(x0)) 459.66/163.96 mark(U61(x0)) 459.66/163.96 mark(U71(x0)) 459.66/163.96 mark(U81(x0, x1, x2)) 459.66/163.96 mark(U82(x0, x1, x2)) 459.66/163.96 mark(U83(x0, x1, x2)) 459.66/163.96 mark(U84(x0, x1, x2)) 459.66/163.96 mark(U85(x0, x1)) 459.66/163.96 mark(U86(x0)) 459.66/163.96 mark(U91(x0, x1, x2)) 459.66/163.96 mark(U92(x0, x1, x2)) 459.66/163.96 mark(U93(x0, x1, x2)) 459.66/163.96 mark(U94(x0, x1)) 459.66/163.96 mark(s(x0)) 459.66/163.96 mark(length(x0)) 459.66/163.96 mark(nil) 459.66/163.96 cons(mark(x0), x1) 459.66/163.96 cons(x0, mark(x1)) 459.66/163.96 cons(active(x0), x1) 459.66/163.96 cons(x0, active(x1)) 459.66/163.96 U11(mark(x0), x1) 459.66/163.96 U11(x0, mark(x1)) 459.66/163.96 U11(active(x0), x1) 459.66/163.96 U11(x0, active(x1)) 459.66/163.96 U12(mark(x0), x1) 459.66/163.96 U12(x0, mark(x1)) 459.66/163.96 U12(active(x0), x1) 459.66/163.96 U12(x0, active(x1)) 459.66/163.96 isNatIListKind(mark(x0)) 459.66/163.96 isNatIListKind(active(x0)) 459.66/163.96 U13(mark(x0)) 459.66/163.96 U13(active(x0)) 459.66/163.96 isNatList(mark(x0)) 459.66/163.96 isNatList(active(x0)) 459.66/163.96 U21(mark(x0), x1) 459.66/163.96 U21(x0, mark(x1)) 459.66/163.96 U21(active(x0), x1) 459.66/163.96 U21(x0, active(x1)) 459.66/163.96 U22(mark(x0), x1) 459.66/163.96 U22(x0, mark(x1)) 459.66/163.96 U22(active(x0), x1) 459.66/163.96 U22(x0, active(x1)) 459.66/163.96 isNatKind(mark(x0)) 459.66/163.96 isNatKind(active(x0)) 459.66/163.96 U23(mark(x0)) 459.66/163.96 U23(active(x0)) 459.66/163.96 isNat(mark(x0)) 459.66/163.96 isNat(active(x0)) 459.66/163.96 U31(mark(x0), x1) 459.66/163.96 U31(x0, mark(x1)) 459.66/163.96 U31(active(x0), x1) 459.66/163.96 U31(x0, active(x1)) 459.66/163.96 U32(mark(x0), x1) 459.66/163.96 U32(x0, mark(x1)) 459.66/163.96 U32(active(x0), x1) 459.66/163.96 U32(x0, active(x1)) 459.66/163.96 U33(mark(x0)) 459.66/163.96 U33(active(x0)) 459.66/163.96 U41(mark(x0), x1, x2) 459.66/163.96 U41(x0, mark(x1), x2) 459.66/163.96 U41(x0, x1, mark(x2)) 459.66/163.96 U41(active(x0), x1, x2) 459.66/163.96 U41(x0, active(x1), x2) 459.66/163.96 U41(x0, x1, active(x2)) 459.66/163.96 U42(mark(x0), x1, x2) 459.66/163.96 U42(x0, mark(x1), x2) 459.66/163.96 U42(x0, x1, mark(x2)) 459.66/163.96 U42(active(x0), x1, x2) 459.66/163.96 U42(x0, active(x1), x2) 459.66/163.96 U42(x0, x1, active(x2)) 459.66/163.96 U43(mark(x0), x1, x2) 459.66/163.96 U43(x0, mark(x1), x2) 459.66/163.96 U43(x0, x1, mark(x2)) 459.66/163.96 U43(active(x0), x1, x2) 459.66/163.96 U43(x0, active(x1), x2) 459.66/163.96 U43(x0, x1, active(x2)) 459.66/163.96 U44(mark(x0), x1, x2) 459.66/163.96 U44(x0, mark(x1), x2) 459.66/163.96 U44(x0, x1, mark(x2)) 459.66/163.96 U44(active(x0), x1, x2) 459.66/163.96 U44(x0, active(x1), x2) 459.66/163.96 U44(x0, x1, active(x2)) 459.66/163.96 U45(mark(x0), x1) 459.66/163.96 U45(x0, mark(x1)) 459.66/163.96 U45(active(x0), x1) 459.66/163.96 U45(x0, active(x1)) 459.66/163.96 U46(mark(x0)) 459.66/163.96 U46(active(x0)) 459.66/163.96 isNatIList(mark(x0)) 459.66/163.96 isNatIList(active(x0)) 459.66/163.96 U51(mark(x0), x1) 459.66/163.96 U51(x0, mark(x1)) 459.66/163.96 U51(active(x0), x1) 459.66/163.96 U51(x0, active(x1)) 459.66/163.96 U52(mark(x0)) 459.66/163.96 U52(active(x0)) 459.66/163.96 U61(mark(x0)) 459.66/163.96 U61(active(x0)) 459.66/163.96 U71(mark(x0)) 459.66/163.96 U71(active(x0)) 459.66/163.96 U81(mark(x0), x1, x2) 459.66/163.96 U81(x0, mark(x1), x2) 459.66/163.96 U81(x0, x1, mark(x2)) 459.66/163.96 U81(active(x0), x1, x2) 459.66/163.96 U81(x0, active(x1), x2) 459.66/163.96 U81(x0, x1, active(x2)) 459.66/163.96 U82(mark(x0), x1, x2) 459.66/163.96 U82(x0, mark(x1), x2) 459.66/163.96 U82(x0, x1, mark(x2)) 459.66/163.96 U82(active(x0), x1, x2) 459.66/163.96 U82(x0, active(x1), x2) 459.66/163.96 U82(x0, x1, active(x2)) 459.66/163.96 U83(mark(x0), x1, x2) 459.66/163.96 U83(x0, mark(x1), x2) 459.66/163.96 U83(x0, x1, mark(x2)) 459.66/163.96 U83(active(x0), x1, x2) 459.66/163.96 U83(x0, active(x1), x2) 459.66/163.96 U83(x0, x1, active(x2)) 459.66/163.96 U84(mark(x0), x1, x2) 459.66/163.96 U84(x0, mark(x1), x2) 459.66/163.96 U84(x0, x1, mark(x2)) 459.66/163.96 U84(active(x0), x1, x2) 459.66/163.96 U84(x0, active(x1), x2) 459.66/163.96 U84(x0, x1, active(x2)) 459.66/163.96 U85(mark(x0), x1) 459.66/163.96 U85(x0, mark(x1)) 459.66/163.96 U85(active(x0), x1) 459.66/163.96 U85(x0, active(x1)) 459.66/163.96 U86(mark(x0)) 459.66/163.96 U86(active(x0)) 459.66/163.96 U91(mark(x0), x1, x2) 459.66/163.96 U91(x0, mark(x1), x2) 459.66/163.96 U91(x0, x1, mark(x2)) 459.66/163.96 U91(active(x0), x1, x2) 459.66/163.96 U91(x0, active(x1), x2) 459.66/163.96 U91(x0, x1, active(x2)) 459.66/163.96 U92(mark(x0), x1, x2) 459.66/163.96 U92(x0, mark(x1), x2) 459.66/163.96 U92(x0, x1, mark(x2)) 459.66/163.96 U92(active(x0), x1, x2) 459.66/163.96 U92(x0, active(x1), x2) 459.66/163.96 U92(x0, x1, active(x2)) 459.66/163.96 U93(mark(x0), x1, x2) 459.66/163.96 U93(x0, mark(x1), x2) 459.66/163.96 U93(x0, x1, mark(x2)) 459.66/163.96 U93(active(x0), x1, x2) 459.66/163.96 U93(x0, active(x1), x2) 459.66/163.96 U93(x0, x1, active(x2)) 459.66/163.96 U94(mark(x0), x1) 459.66/163.96 U94(x0, mark(x1)) 459.66/163.96 U94(active(x0), x1) 459.66/163.96 U94(x0, active(x1)) 459.66/163.96 s(mark(x0)) 459.66/163.96 s(active(x0)) 459.66/163.96 length(mark(x0)) 459.66/163.96 length(active(x0)) 459.66/163.96 459.66/163.96 We have to consider all minimal (P,Q,R)-chains. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (6) UsableRulesProof (EQUIVALENT) 459.66/163.96 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. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (7) 459.66/163.96 Obligation: 459.66/163.96 Q DP problem: 459.66/163.96 The TRS P consists of the following rules: 459.66/163.96 459.66/163.96 LENGTH(active(X)) -> LENGTH(X) 459.66/163.96 LENGTH(mark(X)) -> LENGTH(X) 459.66/163.96 459.66/163.96 R is empty. 459.66/163.96 The set Q consists of the following terms: 459.66/163.96 459.66/163.96 active(zeros) 459.66/163.96 active(U11(tt, x0)) 459.66/163.96 active(U12(tt, x0)) 459.66/163.96 active(U13(tt)) 459.66/163.96 active(U21(tt, x0)) 459.66/163.96 active(U22(tt, x0)) 459.66/163.96 active(U23(tt)) 459.66/163.96 active(U31(tt, x0)) 459.66/163.96 active(U32(tt, x0)) 459.66/163.96 active(U33(tt)) 459.66/163.96 active(U41(tt, x0, x1)) 459.66/163.96 active(U42(tt, x0, x1)) 459.66/163.96 active(U43(tt, x0, x1)) 459.66/163.96 active(U44(tt, x0, x1)) 459.66/163.96 active(U45(tt, x0)) 459.66/163.96 active(U46(tt)) 459.66/163.96 active(U51(tt, x0)) 459.66/163.96 active(U52(tt)) 459.66/163.96 active(U61(tt)) 459.66/163.96 active(U71(tt)) 459.66/163.96 active(U81(tt, x0, x1)) 459.66/163.96 active(U82(tt, x0, x1)) 459.66/163.96 active(U83(tt, x0, x1)) 459.66/163.96 active(U84(tt, x0, x1)) 459.66/163.96 active(U85(tt, x0)) 459.66/163.96 active(U86(tt)) 459.66/163.96 active(U91(tt, x0, x1)) 459.66/163.96 active(U92(tt, x0, x1)) 459.66/163.96 active(U93(tt, x0, x1)) 459.66/163.96 active(U94(tt, x0)) 459.66/163.96 active(isNat(0)) 459.66/163.96 active(isNat(length(x0))) 459.66/163.96 active(isNat(s(x0))) 459.66/163.96 active(isNatIList(x0)) 459.66/163.96 active(isNatIListKind(nil)) 459.66/163.96 active(isNatIListKind(zeros)) 459.66/163.96 active(isNatIListKind(cons(x0, x1))) 459.66/163.96 active(isNatKind(0)) 459.66/163.96 active(isNatKind(length(x0))) 459.66/163.96 active(isNatKind(s(x0))) 459.66/163.96 active(isNatList(nil)) 459.66/163.96 active(isNatList(cons(x0, x1))) 459.66/163.96 active(length(nil)) 459.66/163.96 active(length(cons(x0, x1))) 459.66/163.96 mark(zeros) 459.66/163.96 mark(cons(x0, x1)) 459.66/163.96 mark(0) 459.66/163.96 mark(U11(x0, x1)) 459.66/163.96 mark(tt) 459.66/163.96 mark(U12(x0, x1)) 459.66/163.96 mark(isNatIListKind(x0)) 459.66/163.96 mark(U13(x0)) 459.66/163.96 mark(isNatList(x0)) 459.66/163.96 mark(U21(x0, x1)) 459.66/163.96 mark(U22(x0, x1)) 459.66/163.96 mark(isNatKind(x0)) 459.66/163.96 mark(U23(x0)) 459.66/163.96 mark(isNat(x0)) 459.66/163.96 mark(U31(x0, x1)) 459.66/163.96 mark(U32(x0, x1)) 459.66/163.96 mark(U33(x0)) 459.66/163.96 mark(U41(x0, x1, x2)) 459.66/163.96 mark(U42(x0, x1, x2)) 459.66/163.96 mark(U43(x0, x1, x2)) 459.66/163.96 mark(U44(x0, x1, x2)) 459.66/163.96 mark(U45(x0, x1)) 459.66/163.96 mark(U46(x0)) 459.66/163.96 mark(isNatIList(x0)) 459.66/163.96 mark(U51(x0, x1)) 459.66/163.96 mark(U52(x0)) 459.66/163.96 mark(U61(x0)) 459.66/163.96 mark(U71(x0)) 459.66/163.96 mark(U81(x0, x1, x2)) 459.66/163.96 mark(U82(x0, x1, x2)) 459.66/163.96 mark(U83(x0, x1, x2)) 459.66/163.96 mark(U84(x0, x1, x2)) 459.66/163.96 mark(U85(x0, x1)) 459.66/163.96 mark(U86(x0)) 459.66/163.96 mark(U91(x0, x1, x2)) 459.66/163.96 mark(U92(x0, x1, x2)) 459.66/163.96 mark(U93(x0, x1, x2)) 459.66/163.96 mark(U94(x0, x1)) 459.66/163.96 mark(s(x0)) 459.66/163.96 mark(length(x0)) 459.66/163.96 mark(nil) 459.66/163.96 cons(mark(x0), x1) 459.66/163.96 cons(x0, mark(x1)) 459.66/163.96 cons(active(x0), x1) 459.66/163.96 cons(x0, active(x1)) 459.66/163.96 U11(mark(x0), x1) 459.66/163.96 U11(x0, mark(x1)) 459.66/163.96 U11(active(x0), x1) 459.66/163.96 U11(x0, active(x1)) 459.66/163.96 U12(mark(x0), x1) 459.66/163.96 U12(x0, mark(x1)) 459.66/163.96 U12(active(x0), x1) 459.66/163.96 U12(x0, active(x1)) 459.66/163.96 isNatIListKind(mark(x0)) 459.66/163.96 isNatIListKind(active(x0)) 459.66/163.96 U13(mark(x0)) 459.66/163.96 U13(active(x0)) 459.66/163.96 isNatList(mark(x0)) 459.66/163.96 isNatList(active(x0)) 459.66/163.96 U21(mark(x0), x1) 459.66/163.96 U21(x0, mark(x1)) 459.66/163.96 U21(active(x0), x1) 459.66/163.96 U21(x0, active(x1)) 459.66/163.96 U22(mark(x0), x1) 459.66/163.96 U22(x0, mark(x1)) 459.66/163.96 U22(active(x0), x1) 459.66/163.96 U22(x0, active(x1)) 459.66/163.96 isNatKind(mark(x0)) 459.66/163.96 isNatKind(active(x0)) 459.66/163.96 U23(mark(x0)) 459.66/163.96 U23(active(x0)) 459.66/163.96 isNat(mark(x0)) 459.66/163.96 isNat(active(x0)) 459.66/163.96 U31(mark(x0), x1) 459.66/163.96 U31(x0, mark(x1)) 459.66/163.96 U31(active(x0), x1) 459.66/163.96 U31(x0, active(x1)) 459.66/163.96 U32(mark(x0), x1) 459.66/163.96 U32(x0, mark(x1)) 459.66/163.96 U32(active(x0), x1) 459.66/163.96 U32(x0, active(x1)) 459.66/163.96 U33(mark(x0)) 459.66/163.96 U33(active(x0)) 459.66/163.96 U41(mark(x0), x1, x2) 459.66/163.96 U41(x0, mark(x1), x2) 459.66/163.96 U41(x0, x1, mark(x2)) 459.66/163.96 U41(active(x0), x1, x2) 459.66/163.96 U41(x0, active(x1), x2) 459.66/163.96 U41(x0, x1, active(x2)) 459.66/163.96 U42(mark(x0), x1, x2) 459.66/163.96 U42(x0, mark(x1), x2) 459.66/163.96 U42(x0, x1, mark(x2)) 459.66/163.96 U42(active(x0), x1, x2) 459.66/163.96 U42(x0, active(x1), x2) 459.66/163.96 U42(x0, x1, active(x2)) 459.66/163.96 U43(mark(x0), x1, x2) 459.66/163.96 U43(x0, mark(x1), x2) 459.66/163.96 U43(x0, x1, mark(x2)) 459.66/163.96 U43(active(x0), x1, x2) 459.66/163.96 U43(x0, active(x1), x2) 459.66/163.96 U43(x0, x1, active(x2)) 459.66/163.96 U44(mark(x0), x1, x2) 459.66/163.96 U44(x0, mark(x1), x2) 459.66/163.96 U44(x0, x1, mark(x2)) 459.66/163.96 U44(active(x0), x1, x2) 459.66/163.96 U44(x0, active(x1), x2) 459.66/163.96 U44(x0, x1, active(x2)) 459.66/163.96 U45(mark(x0), x1) 459.66/163.96 U45(x0, mark(x1)) 459.66/163.96 U45(active(x0), x1) 459.66/163.96 U45(x0, active(x1)) 459.66/163.96 U46(mark(x0)) 459.66/163.96 U46(active(x0)) 459.66/163.96 isNatIList(mark(x0)) 459.66/163.96 isNatIList(active(x0)) 459.66/163.96 U51(mark(x0), x1) 459.66/163.96 U51(x0, mark(x1)) 459.66/163.96 U51(active(x0), x1) 459.66/163.96 U51(x0, active(x1)) 459.66/163.96 U52(mark(x0)) 459.66/163.96 U52(active(x0)) 459.66/163.96 U61(mark(x0)) 459.66/163.96 U61(active(x0)) 459.66/163.96 U71(mark(x0)) 459.66/163.96 U71(active(x0)) 459.66/163.96 U81(mark(x0), x1, x2) 459.66/163.96 U81(x0, mark(x1), x2) 459.66/163.96 U81(x0, x1, mark(x2)) 459.66/163.96 U81(active(x0), x1, x2) 459.66/163.96 U81(x0, active(x1), x2) 459.66/163.96 U81(x0, x1, active(x2)) 459.66/163.96 U82(mark(x0), x1, x2) 459.66/163.96 U82(x0, mark(x1), x2) 459.66/163.96 U82(x0, x1, mark(x2)) 459.66/163.96 U82(active(x0), x1, x2) 459.66/163.96 U82(x0, active(x1), x2) 459.66/163.96 U82(x0, x1, active(x2)) 459.66/163.96 U83(mark(x0), x1, x2) 459.66/163.96 U83(x0, mark(x1), x2) 459.66/163.96 U83(x0, x1, mark(x2)) 459.66/163.96 U83(active(x0), x1, x2) 459.66/163.96 U83(x0, active(x1), x2) 459.66/163.96 U83(x0, x1, active(x2)) 459.66/163.96 U84(mark(x0), x1, x2) 459.66/163.96 U84(x0, mark(x1), x2) 459.66/163.96 U84(x0, x1, mark(x2)) 459.66/163.96 U84(active(x0), x1, x2) 459.66/163.96 U84(x0, active(x1), x2) 459.66/163.96 U84(x0, x1, active(x2)) 459.66/163.96 U85(mark(x0), x1) 459.66/163.96 U85(x0, mark(x1)) 459.66/163.96 U85(active(x0), x1) 459.66/163.96 U85(x0, active(x1)) 459.66/163.96 U86(mark(x0)) 459.66/163.96 U86(active(x0)) 459.66/163.96 U91(mark(x0), x1, x2) 459.66/163.96 U91(x0, mark(x1), x2) 459.66/163.96 U91(x0, x1, mark(x2)) 459.66/163.96 U91(active(x0), x1, x2) 459.66/163.96 U91(x0, active(x1), x2) 459.66/163.96 U91(x0, x1, active(x2)) 459.66/163.96 U92(mark(x0), x1, x2) 459.66/163.96 U92(x0, mark(x1), x2) 459.66/163.96 U92(x0, x1, mark(x2)) 459.66/163.96 U92(active(x0), x1, x2) 459.66/163.96 U92(x0, active(x1), x2) 459.66/163.96 U92(x0, x1, active(x2)) 459.66/163.96 U93(mark(x0), x1, x2) 459.66/163.96 U93(x0, mark(x1), x2) 459.66/163.96 U93(x0, x1, mark(x2)) 459.66/163.96 U93(active(x0), x1, x2) 459.66/163.96 U93(x0, active(x1), x2) 459.66/163.96 U93(x0, x1, active(x2)) 459.66/163.96 U94(mark(x0), x1) 459.66/163.96 U94(x0, mark(x1)) 459.66/163.96 U94(active(x0), x1) 459.66/163.96 U94(x0, active(x1)) 459.66/163.96 s(mark(x0)) 459.66/163.96 s(active(x0)) 459.66/163.96 length(mark(x0)) 459.66/163.96 length(active(x0)) 459.66/163.96 459.66/163.96 We have to consider all minimal (P,Q,R)-chains. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (8) QReductionProof (EQUIVALENT) 459.66/163.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.96 459.66/163.96 cons(mark(x0), x1) 459.66/163.96 cons(x0, mark(x1)) 459.66/163.96 cons(active(x0), x1) 459.66/163.96 cons(x0, active(x1)) 459.66/163.96 U11(mark(x0), x1) 459.66/163.96 U11(x0, mark(x1)) 459.66/163.96 U11(active(x0), x1) 459.66/163.96 U11(x0, active(x1)) 459.66/163.96 U12(mark(x0), x1) 459.66/163.96 U12(x0, mark(x1)) 459.66/163.96 U12(active(x0), x1) 459.66/163.96 U12(x0, active(x1)) 459.66/163.96 isNatIListKind(mark(x0)) 459.66/163.96 isNatIListKind(active(x0)) 459.66/163.96 U13(mark(x0)) 459.66/163.96 U13(active(x0)) 459.66/163.96 isNatList(mark(x0)) 459.66/163.96 isNatList(active(x0)) 459.66/163.96 U21(mark(x0), x1) 459.66/163.96 U21(x0, mark(x1)) 459.66/163.96 U21(active(x0), x1) 459.66/163.96 U21(x0, active(x1)) 459.66/163.96 U22(mark(x0), x1) 459.66/163.96 U22(x0, mark(x1)) 459.66/163.96 U22(active(x0), x1) 459.66/163.96 U22(x0, active(x1)) 459.66/163.96 isNatKind(mark(x0)) 459.66/163.96 isNatKind(active(x0)) 459.66/163.96 U23(mark(x0)) 459.66/163.96 U23(active(x0)) 459.66/163.96 isNat(mark(x0)) 459.66/163.96 isNat(active(x0)) 459.66/163.96 U31(mark(x0), x1) 459.66/163.96 U31(x0, mark(x1)) 459.66/163.96 U31(active(x0), x1) 459.66/163.96 U31(x0, active(x1)) 459.66/163.96 U32(mark(x0), x1) 459.66/163.96 U32(x0, mark(x1)) 459.66/163.96 U32(active(x0), x1) 459.66/163.96 U32(x0, active(x1)) 459.66/163.96 U33(mark(x0)) 459.66/163.96 U33(active(x0)) 459.66/163.96 U41(mark(x0), x1, x2) 459.66/163.96 U41(x0, mark(x1), x2) 459.66/163.96 U41(x0, x1, mark(x2)) 459.66/163.96 U41(active(x0), x1, x2) 459.66/163.96 U41(x0, active(x1), x2) 459.66/163.96 U41(x0, x1, active(x2)) 459.66/163.96 U42(mark(x0), x1, x2) 459.66/163.96 U42(x0, mark(x1), x2) 459.66/163.96 U42(x0, x1, mark(x2)) 459.66/163.96 U42(active(x0), x1, x2) 459.66/163.96 U42(x0, active(x1), x2) 459.66/163.96 U42(x0, x1, active(x2)) 459.66/163.96 U43(mark(x0), x1, x2) 459.66/163.96 U43(x0, mark(x1), x2) 459.66/163.96 U43(x0, x1, mark(x2)) 459.66/163.96 U43(active(x0), x1, x2) 459.66/163.96 U43(x0, active(x1), x2) 459.66/163.96 U43(x0, x1, active(x2)) 459.66/163.96 U44(mark(x0), x1, x2) 459.66/163.96 U44(x0, mark(x1), x2) 459.66/163.96 U44(x0, x1, mark(x2)) 459.66/163.96 U44(active(x0), x1, x2) 459.66/163.96 U44(x0, active(x1), x2) 459.66/163.96 U44(x0, x1, active(x2)) 459.66/163.96 U45(mark(x0), x1) 459.66/163.96 U45(x0, mark(x1)) 459.66/163.96 U45(active(x0), x1) 459.66/163.96 U45(x0, active(x1)) 459.66/163.96 U46(mark(x0)) 459.66/163.96 U46(active(x0)) 459.66/163.96 isNatIList(mark(x0)) 459.66/163.96 isNatIList(active(x0)) 459.66/163.96 U51(mark(x0), x1) 459.66/163.96 U51(x0, mark(x1)) 459.66/163.96 U51(active(x0), x1) 459.66/163.96 U51(x0, active(x1)) 459.66/163.96 U52(mark(x0)) 459.66/163.96 U52(active(x0)) 459.66/163.96 U61(mark(x0)) 459.66/163.96 U61(active(x0)) 459.66/163.96 U71(mark(x0)) 459.66/163.96 U71(active(x0)) 459.66/163.96 U81(mark(x0), x1, x2) 459.66/163.96 U81(x0, mark(x1), x2) 459.66/163.96 U81(x0, x1, mark(x2)) 459.66/163.96 U81(active(x0), x1, x2) 459.66/163.96 U81(x0, active(x1), x2) 459.66/163.96 U81(x0, x1, active(x2)) 459.66/163.96 U82(mark(x0), x1, x2) 459.66/163.96 U82(x0, mark(x1), x2) 459.66/163.96 U82(x0, x1, mark(x2)) 459.66/163.96 U82(active(x0), x1, x2) 459.66/163.96 U82(x0, active(x1), x2) 459.66/163.96 U82(x0, x1, active(x2)) 459.66/163.96 U83(mark(x0), x1, x2) 459.66/163.96 U83(x0, mark(x1), x2) 459.66/163.96 U83(x0, x1, mark(x2)) 459.66/163.96 U83(active(x0), x1, x2) 459.66/163.96 U83(x0, active(x1), x2) 459.66/163.96 U83(x0, x1, active(x2)) 459.66/163.96 U84(mark(x0), x1, x2) 459.66/163.96 U84(x0, mark(x1), x2) 459.66/163.96 U84(x0, x1, mark(x2)) 459.66/163.96 U84(active(x0), x1, x2) 459.66/163.96 U84(x0, active(x1), x2) 459.66/163.96 U84(x0, x1, active(x2)) 459.66/163.96 U85(mark(x0), x1) 459.66/163.96 U85(x0, mark(x1)) 459.66/163.96 U85(active(x0), x1) 459.66/163.96 U85(x0, active(x1)) 459.66/163.96 U86(mark(x0)) 459.66/163.96 U86(active(x0)) 459.66/163.96 U91(mark(x0), x1, x2) 459.66/163.96 U91(x0, mark(x1), x2) 459.66/163.96 U91(x0, x1, mark(x2)) 459.66/163.96 U91(active(x0), x1, x2) 459.66/163.96 U91(x0, active(x1), x2) 459.66/163.96 U91(x0, x1, active(x2)) 459.66/163.96 U92(mark(x0), x1, x2) 459.66/163.96 U92(x0, mark(x1), x2) 459.66/163.96 U92(x0, x1, mark(x2)) 459.66/163.96 U92(active(x0), x1, x2) 459.66/163.96 U92(x0, active(x1), x2) 459.66/163.96 U92(x0, x1, active(x2)) 459.66/163.96 U93(mark(x0), x1, x2) 459.66/163.96 U93(x0, mark(x1), x2) 459.66/163.96 U93(x0, x1, mark(x2)) 459.66/163.96 U93(active(x0), x1, x2) 459.66/163.96 U93(x0, active(x1), x2) 459.66/163.96 U93(x0, x1, active(x2)) 459.66/163.96 U94(mark(x0), x1) 459.66/163.96 U94(x0, mark(x1)) 459.66/163.96 U94(active(x0), x1) 459.66/163.96 U94(x0, active(x1)) 459.66/163.96 s(mark(x0)) 459.66/163.96 s(active(x0)) 459.66/163.96 length(mark(x0)) 459.66/163.96 length(active(x0)) 459.66/163.96 459.66/163.96 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (9) 459.66/163.96 Obligation: 459.66/163.96 Q DP problem: 459.66/163.96 The TRS P consists of the following rules: 459.66/163.96 459.66/163.96 LENGTH(active(X)) -> LENGTH(X) 459.66/163.96 LENGTH(mark(X)) -> LENGTH(X) 459.66/163.96 459.66/163.96 R is empty. 459.66/163.96 The set Q consists of the following terms: 459.66/163.96 459.66/163.96 active(zeros) 459.66/163.96 active(U11(tt, x0)) 459.66/163.96 active(U12(tt, x0)) 459.66/163.96 active(U13(tt)) 459.66/163.96 active(U21(tt, x0)) 459.66/163.96 active(U22(tt, x0)) 459.66/163.96 active(U23(tt)) 459.66/163.96 active(U31(tt, x0)) 459.66/163.96 active(U32(tt, x0)) 459.66/163.96 active(U33(tt)) 459.66/163.96 active(U41(tt, x0, x1)) 459.66/163.96 active(U42(tt, x0, x1)) 459.66/163.96 active(U43(tt, x0, x1)) 459.66/163.96 active(U44(tt, x0, x1)) 459.66/163.96 active(U45(tt, x0)) 459.66/163.96 active(U46(tt)) 459.66/163.96 active(U51(tt, x0)) 459.66/163.96 active(U52(tt)) 459.66/163.96 active(U61(tt)) 459.66/163.96 active(U71(tt)) 459.66/163.96 active(U81(tt, x0, x1)) 459.66/163.96 active(U82(tt, x0, x1)) 459.66/163.96 active(U83(tt, x0, x1)) 459.66/163.96 active(U84(tt, x0, x1)) 459.66/163.96 active(U85(tt, x0)) 459.66/163.96 active(U86(tt)) 459.66/163.96 active(U91(tt, x0, x1)) 459.66/163.96 active(U92(tt, x0, x1)) 459.66/163.96 active(U93(tt, x0, x1)) 459.66/163.96 active(U94(tt, x0)) 459.66/163.96 active(isNat(0)) 459.66/163.96 active(isNat(length(x0))) 459.66/163.96 active(isNat(s(x0))) 459.66/163.96 active(isNatIList(x0)) 459.66/163.96 active(isNatIListKind(nil)) 459.66/163.96 active(isNatIListKind(zeros)) 459.66/163.96 active(isNatIListKind(cons(x0, x1))) 459.66/163.96 active(isNatKind(0)) 459.66/163.96 active(isNatKind(length(x0))) 459.66/163.96 active(isNatKind(s(x0))) 459.66/163.96 active(isNatList(nil)) 459.66/163.96 active(isNatList(cons(x0, x1))) 459.66/163.96 active(length(nil)) 459.66/163.96 active(length(cons(x0, x1))) 459.66/163.96 mark(zeros) 459.66/163.96 mark(cons(x0, x1)) 459.66/163.96 mark(0) 459.66/163.96 mark(U11(x0, x1)) 459.66/163.96 mark(tt) 459.66/163.96 mark(U12(x0, x1)) 459.66/163.96 mark(isNatIListKind(x0)) 459.66/163.96 mark(U13(x0)) 459.66/163.96 mark(isNatList(x0)) 459.66/163.96 mark(U21(x0, x1)) 459.66/163.96 mark(U22(x0, x1)) 459.66/163.96 mark(isNatKind(x0)) 459.66/163.96 mark(U23(x0)) 459.66/163.96 mark(isNat(x0)) 459.66/163.96 mark(U31(x0, x1)) 459.66/163.96 mark(U32(x0, x1)) 459.66/163.96 mark(U33(x0)) 459.66/163.96 mark(U41(x0, x1, x2)) 459.66/163.96 mark(U42(x0, x1, x2)) 459.66/163.96 mark(U43(x0, x1, x2)) 459.66/163.96 mark(U44(x0, x1, x2)) 459.66/163.96 mark(U45(x0, x1)) 459.66/163.96 mark(U46(x0)) 459.66/163.96 mark(isNatIList(x0)) 459.66/163.96 mark(U51(x0, x1)) 459.66/163.96 mark(U52(x0)) 459.66/163.96 mark(U61(x0)) 459.66/163.96 mark(U71(x0)) 459.66/163.96 mark(U81(x0, x1, x2)) 459.66/163.96 mark(U82(x0, x1, x2)) 459.66/163.96 mark(U83(x0, x1, x2)) 459.66/163.96 mark(U84(x0, x1, x2)) 459.66/163.96 mark(U85(x0, x1)) 459.66/163.96 mark(U86(x0)) 459.66/163.96 mark(U91(x0, x1, x2)) 459.66/163.96 mark(U92(x0, x1, x2)) 459.66/163.96 mark(U93(x0, x1, x2)) 459.66/163.96 mark(U94(x0, x1)) 459.66/163.96 mark(s(x0)) 459.66/163.96 mark(length(x0)) 459.66/163.96 mark(nil) 459.66/163.96 459.66/163.96 We have to consider all minimal (P,Q,R)-chains. 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (10) QDPSizeChangeProof (EQUIVALENT) 459.66/163.96 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. 459.66/163.96 459.66/163.96 From the DPs we obtained the following set of size-change graphs: 459.66/163.96 *LENGTH(active(X)) -> LENGTH(X) 459.66/163.96 The graph contains the following edges 1 > 1 459.66/163.96 459.66/163.96 459.66/163.96 *LENGTH(mark(X)) -> LENGTH(X) 459.66/163.96 The graph contains the following edges 1 > 1 459.66/163.96 459.66/163.96 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (11) 459.66/163.96 YES 459.66/163.96 459.66/163.96 ---------------------------------------- 459.66/163.96 459.66/163.96 (12) 459.66/163.96 Obligation: 459.66/163.96 Q DP problem: 459.66/163.96 The TRS P consists of the following rules: 459.66/163.96 459.66/163.96 S(active(X)) -> S(X) 459.66/163.96 S(mark(X)) -> S(X) 459.66/163.96 459.66/163.96 The TRS R consists of the following rules: 459.66/163.96 459.66/163.96 active(zeros) -> mark(cons(0, zeros)) 459.66/163.96 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.96 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.96 active(U13(tt)) -> mark(tt) 459.66/163.96 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.96 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.96 active(U23(tt)) -> mark(tt) 459.66/163.96 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.96 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.96 active(U33(tt)) -> mark(tt) 459.66/163.96 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.96 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.96 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.96 active(U46(tt)) -> mark(tt) 459.66/163.96 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.96 active(U52(tt)) -> mark(tt) 459.66/163.96 active(U61(tt)) -> mark(tt) 459.66/163.96 active(U71(tt)) -> mark(tt) 459.66/163.96 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.96 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.96 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.96 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.96 active(U86(tt)) -> mark(tt) 459.66/163.96 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.96 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.96 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.96 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.96 active(isNat(0)) -> mark(tt) 459.66/163.96 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.96 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.96 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.96 active(isNatIList(zeros)) -> mark(tt) 459.66/163.96 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.96 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.96 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.96 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.96 active(isNatKind(0)) -> mark(tt) 459.66/163.96 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.96 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.96 active(isNatList(nil)) -> mark(tt) 459.66/163.96 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.96 active(length(nil)) -> mark(0) 459.66/163.96 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.96 mark(zeros) -> active(zeros) 459.66/163.96 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.96 mark(0) -> active(0) 459.66/163.96 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.96 mark(tt) -> active(tt) 459.66/163.96 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.96 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.96 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.96 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.96 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.96 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.96 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.96 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.96 mark(isNat(X)) -> active(isNat(X)) 459.66/163.96 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.96 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.96 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.96 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.96 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.96 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.96 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.96 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.96 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.96 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.96 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.96 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.96 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.96 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.96 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.96 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.96 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.96 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.96 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.96 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.96 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.96 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.96 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.96 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.96 mark(s(X)) -> active(s(mark(X))) 459.66/163.96 mark(length(X)) -> active(length(mark(X))) 459.66/163.96 mark(nil) -> active(nil) 459.66/163.96 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.96 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.96 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.96 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.96 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.96 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.96 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.96 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.96 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.96 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.96 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.96 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.96 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.96 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.96 U13(mark(X)) -> U13(X) 459.66/163.96 U13(active(X)) -> U13(X) 459.66/163.96 isNatList(mark(X)) -> isNatList(X) 459.66/163.96 isNatList(active(X)) -> isNatList(X) 459.66/163.96 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.96 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.96 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.96 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.96 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.96 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.96 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.96 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.96 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.96 isNatKind(active(X)) -> isNatKind(X) 459.66/163.96 U23(mark(X)) -> U23(X) 459.66/163.96 U23(active(X)) -> U23(X) 459.66/163.96 isNat(mark(X)) -> isNat(X) 459.66/163.96 isNat(active(X)) -> isNat(X) 459.66/163.96 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.96 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.96 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.96 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.96 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.96 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.96 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.96 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.96 U33(mark(X)) -> U33(X) 459.66/163.96 U33(active(X)) -> U33(X) 459.66/163.96 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.96 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.96 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.96 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.96 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.96 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.96 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.96 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.96 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.96 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.96 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.96 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.96 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.96 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.96 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.96 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.96 U46(mark(X)) -> U46(X) 459.66/163.96 U46(active(X)) -> U46(X) 459.66/163.96 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.96 isNatIList(active(X)) -> isNatIList(X) 459.66/163.96 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.96 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.96 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.96 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.96 U52(mark(X)) -> U52(X) 459.66/163.96 U52(active(X)) -> U52(X) 459.66/163.96 U61(mark(X)) -> U61(X) 459.66/163.96 U61(active(X)) -> U61(X) 459.66/163.96 U71(mark(X)) -> U71(X) 459.66/163.96 U71(active(X)) -> U71(X) 459.66/163.96 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.96 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.96 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.96 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.96 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.96 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.96 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.96 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.96 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.96 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.96 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.96 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.96 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.96 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.96 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.96 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.96 U86(mark(X)) -> U86(X) 459.66/163.96 U86(active(X)) -> U86(X) 459.66/163.96 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.96 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.96 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.96 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.96 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.96 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.96 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.96 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.96 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.96 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.96 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.96 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.96 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.96 s(mark(X)) -> s(X) 459.66/163.96 s(active(X)) -> s(X) 459.66/163.96 length(mark(X)) -> length(X) 459.66/163.96 length(active(X)) -> length(X) 459.66/163.96 459.66/163.96 The set Q consists of the following terms: 459.66/163.96 459.66/163.96 active(zeros) 459.66/163.96 active(U11(tt, x0)) 459.66/163.96 active(U12(tt, x0)) 459.66/163.96 active(U13(tt)) 459.66/163.96 active(U21(tt, x0)) 459.66/163.96 active(U22(tt, x0)) 459.66/163.96 active(U23(tt)) 459.66/163.96 active(U31(tt, x0)) 459.66/163.96 active(U32(tt, x0)) 459.66/163.96 active(U33(tt)) 459.66/163.96 active(U41(tt, x0, x1)) 459.66/163.96 active(U42(tt, x0, x1)) 459.66/163.96 active(U43(tt, x0, x1)) 459.66/163.96 active(U44(tt, x0, x1)) 459.66/163.96 active(U45(tt, x0)) 459.66/163.96 active(U46(tt)) 459.66/163.96 active(U51(tt, x0)) 459.66/163.96 active(U52(tt)) 459.66/163.96 active(U61(tt)) 459.66/163.96 active(U71(tt)) 459.66/163.96 active(U81(tt, x0, x1)) 459.66/163.96 active(U82(tt, x0, x1)) 459.66/163.96 active(U83(tt, x0, x1)) 459.66/163.96 active(U84(tt, x0, x1)) 459.66/163.96 active(U85(tt, x0)) 459.66/163.96 active(U86(tt)) 459.66/163.96 active(U91(tt, x0, x1)) 459.66/163.96 active(U92(tt, x0, x1)) 459.66/163.96 active(U93(tt, x0, x1)) 459.66/163.96 active(U94(tt, x0)) 459.66/163.96 active(isNat(0)) 459.66/163.96 active(isNat(length(x0))) 459.66/163.96 active(isNat(s(x0))) 459.66/163.96 active(isNatIList(x0)) 459.66/163.96 active(isNatIListKind(nil)) 459.66/163.96 active(isNatIListKind(zeros)) 459.66/163.96 active(isNatIListKind(cons(x0, x1))) 459.66/163.96 active(isNatKind(0)) 459.66/163.96 active(isNatKind(length(x0))) 459.66/163.96 active(isNatKind(s(x0))) 459.66/163.96 active(isNatList(nil)) 459.66/163.96 active(isNatList(cons(x0, x1))) 459.66/163.96 active(length(nil)) 459.66/163.96 active(length(cons(x0, x1))) 459.66/163.96 mark(zeros) 459.66/163.96 mark(cons(x0, x1)) 459.66/163.96 mark(0) 459.66/163.96 mark(U11(x0, x1)) 459.66/163.96 mark(tt) 459.66/163.96 mark(U12(x0, x1)) 459.66/163.96 mark(isNatIListKind(x0)) 459.66/163.96 mark(U13(x0)) 459.66/163.96 mark(isNatList(x0)) 459.66/163.96 mark(U21(x0, x1)) 459.66/163.96 mark(U22(x0, x1)) 459.66/163.96 mark(isNatKind(x0)) 459.66/163.96 mark(U23(x0)) 459.66/163.96 mark(isNat(x0)) 459.66/163.96 mark(U31(x0, x1)) 459.66/163.96 mark(U32(x0, x1)) 459.66/163.96 mark(U33(x0)) 459.66/163.96 mark(U41(x0, x1, x2)) 459.66/163.96 mark(U42(x0, x1, x2)) 459.66/163.96 mark(U43(x0, x1, x2)) 459.66/163.96 mark(U44(x0, x1, x2)) 459.66/163.96 mark(U45(x0, x1)) 459.66/163.96 mark(U46(x0)) 459.66/163.96 mark(isNatIList(x0)) 459.66/163.96 mark(U51(x0, x1)) 459.66/163.96 mark(U52(x0)) 459.66/163.96 mark(U61(x0)) 459.66/163.96 mark(U71(x0)) 459.66/163.96 mark(U81(x0, x1, x2)) 459.66/163.96 mark(U82(x0, x1, x2)) 459.66/163.96 mark(U83(x0, x1, x2)) 459.66/163.96 mark(U84(x0, x1, x2)) 459.66/163.96 mark(U85(x0, x1)) 459.66/163.96 mark(U86(x0)) 459.66/163.96 mark(U91(x0, x1, x2)) 459.66/163.96 mark(U92(x0, x1, x2)) 459.66/163.96 mark(U93(x0, x1, x2)) 459.66/163.96 mark(U94(x0, x1)) 459.66/163.96 mark(s(x0)) 459.66/163.96 mark(length(x0)) 459.66/163.96 mark(nil) 459.66/163.96 cons(mark(x0), x1) 459.66/163.96 cons(x0, mark(x1)) 459.66/163.96 cons(active(x0), x1) 459.66/163.96 cons(x0, active(x1)) 459.66/163.96 U11(mark(x0), x1) 459.66/163.96 U11(x0, mark(x1)) 459.66/163.96 U11(active(x0), x1) 459.66/163.96 U11(x0, active(x1)) 459.66/163.96 U12(mark(x0), x1) 459.66/163.96 U12(x0, mark(x1)) 459.66/163.96 U12(active(x0), x1) 459.66/163.96 U12(x0, active(x1)) 459.66/163.96 isNatIListKind(mark(x0)) 459.66/163.96 isNatIListKind(active(x0)) 459.66/163.96 U13(mark(x0)) 459.66/163.96 U13(active(x0)) 459.66/163.96 isNatList(mark(x0)) 459.66/163.96 isNatList(active(x0)) 459.66/163.96 U21(mark(x0), x1) 459.66/163.96 U21(x0, mark(x1)) 459.66/163.96 U21(active(x0), x1) 459.66/163.96 U21(x0, active(x1)) 459.66/163.96 U22(mark(x0), x1) 459.66/163.96 U22(x0, mark(x1)) 459.66/163.96 U22(active(x0), x1) 459.66/163.96 U22(x0, active(x1)) 459.66/163.96 isNatKind(mark(x0)) 459.66/163.96 isNatKind(active(x0)) 459.66/163.96 U23(mark(x0)) 459.66/163.96 U23(active(x0)) 459.66/163.96 isNat(mark(x0)) 459.66/163.96 isNat(active(x0)) 459.66/163.96 U31(mark(x0), x1) 459.66/163.96 U31(x0, mark(x1)) 459.66/163.96 U31(active(x0), x1) 459.66/163.96 U31(x0, active(x1)) 459.66/163.96 U32(mark(x0), x1) 459.66/163.96 U32(x0, mark(x1)) 459.66/163.96 U32(active(x0), x1) 459.66/163.96 U32(x0, active(x1)) 459.66/163.96 U33(mark(x0)) 459.66/163.96 U33(active(x0)) 459.66/163.96 U41(mark(x0), x1, x2) 459.66/163.96 U41(x0, mark(x1), x2) 459.66/163.96 U41(x0, x1, mark(x2)) 459.66/163.96 U41(active(x0), x1, x2) 459.66/163.96 U41(x0, active(x1), x2) 459.66/163.96 U41(x0, x1, active(x2)) 459.66/163.96 U42(mark(x0), x1, x2) 459.66/163.96 U42(x0, mark(x1), x2) 459.66/163.96 U42(x0, x1, mark(x2)) 459.66/163.96 U42(active(x0), x1, x2) 459.66/163.96 U42(x0, active(x1), x2) 459.66/163.96 U42(x0, x1, active(x2)) 459.66/163.96 U43(mark(x0), x1, x2) 459.66/163.96 U43(x0, mark(x1), x2) 459.66/163.96 U43(x0, x1, mark(x2)) 459.66/163.96 U43(active(x0), x1, x2) 459.66/163.96 U43(x0, active(x1), x2) 459.66/163.96 U43(x0, x1, active(x2)) 459.66/163.96 U44(mark(x0), x1, x2) 459.66/163.96 U44(x0, mark(x1), x2) 459.66/163.96 U44(x0, x1, mark(x2)) 459.66/163.96 U44(active(x0), x1, x2) 459.66/163.96 U44(x0, active(x1), x2) 459.66/163.96 U44(x0, x1, active(x2)) 459.66/163.96 U45(mark(x0), x1) 459.66/163.96 U45(x0, mark(x1)) 459.66/163.96 U45(active(x0), x1) 459.66/163.96 U45(x0, active(x1)) 459.66/163.96 U46(mark(x0)) 459.66/163.96 U46(active(x0)) 459.66/163.96 isNatIList(mark(x0)) 459.66/163.96 isNatIList(active(x0)) 459.66/163.96 U51(mark(x0), x1) 459.66/163.96 U51(x0, mark(x1)) 459.66/163.96 U51(active(x0), x1) 459.66/163.96 U51(x0, active(x1)) 459.66/163.96 U52(mark(x0)) 459.66/163.96 U52(active(x0)) 459.66/163.96 U61(mark(x0)) 459.66/163.96 U61(active(x0)) 459.66/163.96 U71(mark(x0)) 459.66/163.96 U71(active(x0)) 459.66/163.96 U81(mark(x0), x1, x2) 459.66/163.96 U81(x0, mark(x1), x2) 459.66/163.96 U81(x0, x1, mark(x2)) 459.66/163.96 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (13) UsableRulesProof (EQUIVALENT) 459.66/163.97 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. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (14) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 S(active(X)) -> S(X) 459.66/163.97 S(mark(X)) -> S(X) 459.66/163.97 459.66/163.97 R is empty. 459.66/163.97 The set Q consists of the following terms: 459.66/163.97 459.66/163.97 active(zeros) 459.66/163.97 active(U11(tt, x0)) 459.66/163.97 active(U12(tt, x0)) 459.66/163.97 active(U13(tt)) 459.66/163.97 active(U21(tt, x0)) 459.66/163.97 active(U22(tt, x0)) 459.66/163.97 active(U23(tt)) 459.66/163.97 active(U31(tt, x0)) 459.66/163.97 active(U32(tt, x0)) 459.66/163.97 active(U33(tt)) 459.66/163.97 active(U41(tt, x0, x1)) 459.66/163.97 active(U42(tt, x0, x1)) 459.66/163.97 active(U43(tt, x0, x1)) 459.66/163.97 active(U44(tt, x0, x1)) 459.66/163.97 active(U45(tt, x0)) 459.66/163.97 active(U46(tt)) 459.66/163.97 active(U51(tt, x0)) 459.66/163.97 active(U52(tt)) 459.66/163.97 active(U61(tt)) 459.66/163.97 active(U71(tt)) 459.66/163.97 active(U81(tt, x0, x1)) 459.66/163.97 active(U82(tt, x0, x1)) 459.66/163.97 active(U83(tt, x0, x1)) 459.66/163.97 active(U84(tt, x0, x1)) 459.66/163.97 active(U85(tt, x0)) 459.66/163.97 active(U86(tt)) 459.66/163.97 active(U91(tt, x0, x1)) 459.66/163.97 active(U92(tt, x0, x1)) 459.66/163.97 active(U93(tt, x0, x1)) 459.66/163.97 active(U94(tt, x0)) 459.66/163.97 active(isNat(0)) 459.66/163.97 active(isNat(length(x0))) 459.66/163.97 active(isNat(s(x0))) 459.66/163.97 active(isNatIList(x0)) 459.66/163.97 active(isNatIListKind(nil)) 459.66/163.97 active(isNatIListKind(zeros)) 459.66/163.97 active(isNatIListKind(cons(x0, x1))) 459.66/163.97 active(isNatKind(0)) 459.66/163.97 active(isNatKind(length(x0))) 459.66/163.97 active(isNatKind(s(x0))) 459.66/163.97 active(isNatList(nil)) 459.66/163.97 active(isNatList(cons(x0, x1))) 459.66/163.97 active(length(nil)) 459.66/163.97 active(length(cons(x0, x1))) 459.66/163.97 mark(zeros) 459.66/163.97 mark(cons(x0, x1)) 459.66/163.97 mark(0) 459.66/163.97 mark(U11(x0, x1)) 459.66/163.97 mark(tt) 459.66/163.97 mark(U12(x0, x1)) 459.66/163.97 mark(isNatIListKind(x0)) 459.66/163.97 mark(U13(x0)) 459.66/163.97 mark(isNatList(x0)) 459.66/163.97 mark(U21(x0, x1)) 459.66/163.97 mark(U22(x0, x1)) 459.66/163.97 mark(isNatKind(x0)) 459.66/163.97 mark(U23(x0)) 459.66/163.97 mark(isNat(x0)) 459.66/163.97 mark(U31(x0, x1)) 459.66/163.97 mark(U32(x0, x1)) 459.66/163.97 mark(U33(x0)) 459.66/163.97 mark(U41(x0, x1, x2)) 459.66/163.97 mark(U42(x0, x1, x2)) 459.66/163.97 mark(U43(x0, x1, x2)) 459.66/163.97 mark(U44(x0, x1, x2)) 459.66/163.97 mark(U45(x0, x1)) 459.66/163.97 mark(U46(x0)) 459.66/163.97 mark(isNatIList(x0)) 459.66/163.97 mark(U51(x0, x1)) 459.66/163.97 mark(U52(x0)) 459.66/163.97 mark(U61(x0)) 459.66/163.97 mark(U71(x0)) 459.66/163.97 mark(U81(x0, x1, x2)) 459.66/163.97 mark(U82(x0, x1, x2)) 459.66/163.97 mark(U83(x0, x1, x2)) 459.66/163.97 mark(U84(x0, x1, x2)) 459.66/163.97 mark(U85(x0, x1)) 459.66/163.97 mark(U86(x0)) 459.66/163.97 mark(U91(x0, x1, x2)) 459.66/163.97 mark(U92(x0, x1, x2)) 459.66/163.97 mark(U93(x0, x1, x2)) 459.66/163.97 mark(U94(x0, x1)) 459.66/163.97 mark(s(x0)) 459.66/163.97 mark(length(x0)) 459.66/163.97 mark(nil) 459.66/163.97 cons(mark(x0), x1) 459.66/163.97 cons(x0, mark(x1)) 459.66/163.97 cons(active(x0), x1) 459.66/163.97 cons(x0, active(x1)) 459.66/163.97 U11(mark(x0), x1) 459.66/163.97 U11(x0, mark(x1)) 459.66/163.97 U11(active(x0), x1) 459.66/163.97 U11(x0, active(x1)) 459.66/163.97 U12(mark(x0), x1) 459.66/163.97 U12(x0, mark(x1)) 459.66/163.97 U12(active(x0), x1) 459.66/163.97 U12(x0, active(x1)) 459.66/163.97 isNatIListKind(mark(x0)) 459.66/163.97 isNatIListKind(active(x0)) 459.66/163.97 U13(mark(x0)) 459.66/163.97 U13(active(x0)) 459.66/163.97 isNatList(mark(x0)) 459.66/163.97 isNatList(active(x0)) 459.66/163.97 U21(mark(x0), x1) 459.66/163.97 U21(x0, mark(x1)) 459.66/163.97 U21(active(x0), x1) 459.66/163.97 U21(x0, active(x1)) 459.66/163.97 U22(mark(x0), x1) 459.66/163.97 U22(x0, mark(x1)) 459.66/163.97 U22(active(x0), x1) 459.66/163.97 U22(x0, active(x1)) 459.66/163.97 isNatKind(mark(x0)) 459.66/163.97 isNatKind(active(x0)) 459.66/163.97 U23(mark(x0)) 459.66/163.97 U23(active(x0)) 459.66/163.97 isNat(mark(x0)) 459.66/163.97 isNat(active(x0)) 459.66/163.97 U31(mark(x0), x1) 459.66/163.97 U31(x0, mark(x1)) 459.66/163.97 U31(active(x0), x1) 459.66/163.97 U31(x0, active(x1)) 459.66/163.97 U32(mark(x0), x1) 459.66/163.97 U32(x0, mark(x1)) 459.66/163.97 U32(active(x0), x1) 459.66/163.97 U32(x0, active(x1)) 459.66/163.97 U33(mark(x0)) 459.66/163.97 U33(active(x0)) 459.66/163.97 U41(mark(x0), x1, x2) 459.66/163.97 U41(x0, mark(x1), x2) 459.66/163.97 U41(x0, x1, mark(x2)) 459.66/163.97 U41(active(x0), x1, x2) 459.66/163.97 U41(x0, active(x1), x2) 459.66/163.97 U41(x0, x1, active(x2)) 459.66/163.97 U42(mark(x0), x1, x2) 459.66/163.97 U42(x0, mark(x1), x2) 459.66/163.97 U42(x0, x1, mark(x2)) 459.66/163.97 U42(active(x0), x1, x2) 459.66/163.97 U42(x0, active(x1), x2) 459.66/163.97 U42(x0, x1, active(x2)) 459.66/163.97 U43(mark(x0), x1, x2) 459.66/163.97 U43(x0, mark(x1), x2) 459.66/163.97 U43(x0, x1, mark(x2)) 459.66/163.97 U43(active(x0), x1, x2) 459.66/163.97 U43(x0, active(x1), x2) 459.66/163.97 U43(x0, x1, active(x2)) 459.66/163.97 U44(mark(x0), x1, x2) 459.66/163.97 U44(x0, mark(x1), x2) 459.66/163.97 U44(x0, x1, mark(x2)) 459.66/163.97 U44(active(x0), x1, x2) 459.66/163.97 U44(x0, active(x1), x2) 459.66/163.97 U44(x0, x1, active(x2)) 459.66/163.97 U45(mark(x0), x1) 459.66/163.97 U45(x0, mark(x1)) 459.66/163.97 U45(active(x0), x1) 459.66/163.97 U45(x0, active(x1)) 459.66/163.97 U46(mark(x0)) 459.66/163.97 U46(active(x0)) 459.66/163.97 isNatIList(mark(x0)) 459.66/163.97 isNatIList(active(x0)) 459.66/163.97 U51(mark(x0), x1) 459.66/163.97 U51(x0, mark(x1)) 459.66/163.97 U51(active(x0), x1) 459.66/163.97 U51(x0, active(x1)) 459.66/163.97 U52(mark(x0)) 459.66/163.97 U52(active(x0)) 459.66/163.97 U61(mark(x0)) 459.66/163.97 U61(active(x0)) 459.66/163.97 U71(mark(x0)) 459.66/163.97 U71(active(x0)) 459.66/163.97 U81(mark(x0), x1, x2) 459.66/163.97 U81(x0, mark(x1), x2) 459.66/163.97 U81(x0, x1, mark(x2)) 459.66/163.97 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (15) QReductionProof (EQUIVALENT) 459.66/163.97 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.97 459.66/163.97 cons(mark(x0), x1) 459.66/163.97 cons(x0, mark(x1)) 459.66/163.97 cons(active(x0), x1) 459.66/163.97 cons(x0, active(x1)) 459.66/163.97 U11(mark(x0), x1) 459.66/163.97 U11(x0, mark(x1)) 459.66/163.97 U11(active(x0), x1) 459.66/163.97 U11(x0, active(x1)) 459.66/163.97 U12(mark(x0), x1) 459.66/163.97 U12(x0, mark(x1)) 459.66/163.97 U12(active(x0), x1) 459.66/163.97 U12(x0, active(x1)) 459.66/163.97 isNatIListKind(mark(x0)) 459.66/163.97 isNatIListKind(active(x0)) 459.66/163.97 U13(mark(x0)) 459.66/163.97 U13(active(x0)) 459.66/163.97 isNatList(mark(x0)) 459.66/163.97 isNatList(active(x0)) 459.66/163.97 U21(mark(x0), x1) 459.66/163.97 U21(x0, mark(x1)) 459.66/163.97 U21(active(x0), x1) 459.66/163.97 U21(x0, active(x1)) 459.66/163.97 U22(mark(x0), x1) 459.66/163.97 U22(x0, mark(x1)) 459.66/163.97 U22(active(x0), x1) 459.66/163.97 U22(x0, active(x1)) 459.66/163.97 isNatKind(mark(x0)) 459.66/163.97 isNatKind(active(x0)) 459.66/163.97 U23(mark(x0)) 459.66/163.97 U23(active(x0)) 459.66/163.97 isNat(mark(x0)) 459.66/163.97 isNat(active(x0)) 459.66/163.97 U31(mark(x0), x1) 459.66/163.97 U31(x0, mark(x1)) 459.66/163.97 U31(active(x0), x1) 459.66/163.97 U31(x0, active(x1)) 459.66/163.97 U32(mark(x0), x1) 459.66/163.97 U32(x0, mark(x1)) 459.66/163.97 U32(active(x0), x1) 459.66/163.97 U32(x0, active(x1)) 459.66/163.97 U33(mark(x0)) 459.66/163.97 U33(active(x0)) 459.66/163.97 U41(mark(x0), x1, x2) 459.66/163.97 U41(x0, mark(x1), x2) 459.66/163.97 U41(x0, x1, mark(x2)) 459.66/163.97 U41(active(x0), x1, x2) 459.66/163.97 U41(x0, active(x1), x2) 459.66/163.97 U41(x0, x1, active(x2)) 459.66/163.97 U42(mark(x0), x1, x2) 459.66/163.97 U42(x0, mark(x1), x2) 459.66/163.97 U42(x0, x1, mark(x2)) 459.66/163.97 U42(active(x0), x1, x2) 459.66/163.97 U42(x0, active(x1), x2) 459.66/163.97 U42(x0, x1, active(x2)) 459.66/163.97 U43(mark(x0), x1, x2) 459.66/163.97 U43(x0, mark(x1), x2) 459.66/163.97 U43(x0, x1, mark(x2)) 459.66/163.97 U43(active(x0), x1, x2) 459.66/163.97 U43(x0, active(x1), x2) 459.66/163.97 U43(x0, x1, active(x2)) 459.66/163.97 U44(mark(x0), x1, x2) 459.66/163.97 U44(x0, mark(x1), x2) 459.66/163.97 U44(x0, x1, mark(x2)) 459.66/163.97 U44(active(x0), x1, x2) 459.66/163.97 U44(x0, active(x1), x2) 459.66/163.97 U44(x0, x1, active(x2)) 459.66/163.97 U45(mark(x0), x1) 459.66/163.97 U45(x0, mark(x1)) 459.66/163.97 U45(active(x0), x1) 459.66/163.97 U45(x0, active(x1)) 459.66/163.97 U46(mark(x0)) 459.66/163.97 U46(active(x0)) 459.66/163.97 isNatIList(mark(x0)) 459.66/163.97 isNatIList(active(x0)) 459.66/163.97 U51(mark(x0), x1) 459.66/163.97 U51(x0, mark(x1)) 459.66/163.97 U51(active(x0), x1) 459.66/163.97 U51(x0, active(x1)) 459.66/163.97 U52(mark(x0)) 459.66/163.97 U52(active(x0)) 459.66/163.97 U61(mark(x0)) 459.66/163.97 U61(active(x0)) 459.66/163.97 U71(mark(x0)) 459.66/163.97 U71(active(x0)) 459.66/163.97 U81(mark(x0), x1, x2) 459.66/163.97 U81(x0, mark(x1), x2) 459.66/163.97 U81(x0, x1, mark(x2)) 459.66/163.97 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (16) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 S(active(X)) -> S(X) 459.66/163.97 S(mark(X)) -> S(X) 459.66/163.97 459.66/163.97 R is empty. 459.66/163.97 The set Q consists of the following terms: 459.66/163.97 459.66/163.97 active(zeros) 459.66/163.97 active(U11(tt, x0)) 459.66/163.97 active(U12(tt, x0)) 459.66/163.97 active(U13(tt)) 459.66/163.97 active(U21(tt, x0)) 459.66/163.97 active(U22(tt, x0)) 459.66/163.97 active(U23(tt)) 459.66/163.97 active(U31(tt, x0)) 459.66/163.97 active(U32(tt, x0)) 459.66/163.97 active(U33(tt)) 459.66/163.97 active(U41(tt, x0, x1)) 459.66/163.97 active(U42(tt, x0, x1)) 459.66/163.97 active(U43(tt, x0, x1)) 459.66/163.97 active(U44(tt, x0, x1)) 459.66/163.97 active(U45(tt, x0)) 459.66/163.97 active(U46(tt)) 459.66/163.97 active(U51(tt, x0)) 459.66/163.97 active(U52(tt)) 459.66/163.97 active(U61(tt)) 459.66/163.97 active(U71(tt)) 459.66/163.97 active(U81(tt, x0, x1)) 459.66/163.97 active(U82(tt, x0, x1)) 459.66/163.97 active(U83(tt, x0, x1)) 459.66/163.97 active(U84(tt, x0, x1)) 459.66/163.97 active(U85(tt, x0)) 459.66/163.97 active(U86(tt)) 459.66/163.97 active(U91(tt, x0, x1)) 459.66/163.97 active(U92(tt, x0, x1)) 459.66/163.97 active(U93(tt, x0, x1)) 459.66/163.97 active(U94(tt, x0)) 459.66/163.97 active(isNat(0)) 459.66/163.97 active(isNat(length(x0))) 459.66/163.97 active(isNat(s(x0))) 459.66/163.97 active(isNatIList(x0)) 459.66/163.97 active(isNatIListKind(nil)) 459.66/163.97 active(isNatIListKind(zeros)) 459.66/163.97 active(isNatIListKind(cons(x0, x1))) 459.66/163.97 active(isNatKind(0)) 459.66/163.97 active(isNatKind(length(x0))) 459.66/163.97 active(isNatKind(s(x0))) 459.66/163.97 active(isNatList(nil)) 459.66/163.97 active(isNatList(cons(x0, x1))) 459.66/163.97 active(length(nil)) 459.66/163.97 active(length(cons(x0, x1))) 459.66/163.97 mark(zeros) 459.66/163.97 mark(cons(x0, x1)) 459.66/163.97 mark(0) 459.66/163.97 mark(U11(x0, x1)) 459.66/163.97 mark(tt) 459.66/163.97 mark(U12(x0, x1)) 459.66/163.97 mark(isNatIListKind(x0)) 459.66/163.97 mark(U13(x0)) 459.66/163.97 mark(isNatList(x0)) 459.66/163.97 mark(U21(x0, x1)) 459.66/163.97 mark(U22(x0, x1)) 459.66/163.97 mark(isNatKind(x0)) 459.66/163.97 mark(U23(x0)) 459.66/163.97 mark(isNat(x0)) 459.66/163.97 mark(U31(x0, x1)) 459.66/163.97 mark(U32(x0, x1)) 459.66/163.97 mark(U33(x0)) 459.66/163.97 mark(U41(x0, x1, x2)) 459.66/163.97 mark(U42(x0, x1, x2)) 459.66/163.97 mark(U43(x0, x1, x2)) 459.66/163.97 mark(U44(x0, x1, x2)) 459.66/163.97 mark(U45(x0, x1)) 459.66/163.97 mark(U46(x0)) 459.66/163.97 mark(isNatIList(x0)) 459.66/163.97 mark(U51(x0, x1)) 459.66/163.97 mark(U52(x0)) 459.66/163.97 mark(U61(x0)) 459.66/163.97 mark(U71(x0)) 459.66/163.97 mark(U81(x0, x1, x2)) 459.66/163.97 mark(U82(x0, x1, x2)) 459.66/163.97 mark(U83(x0, x1, x2)) 459.66/163.97 mark(U84(x0, x1, x2)) 459.66/163.97 mark(U85(x0, x1)) 459.66/163.97 mark(U86(x0)) 459.66/163.97 mark(U91(x0, x1, x2)) 459.66/163.97 mark(U92(x0, x1, x2)) 459.66/163.97 mark(U93(x0, x1, x2)) 459.66/163.97 mark(U94(x0, x1)) 459.66/163.97 mark(s(x0)) 459.66/163.97 mark(length(x0)) 459.66/163.97 mark(nil) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (17) QDPSizeChangeProof (EQUIVALENT) 459.66/163.97 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. 459.66/163.97 459.66/163.97 From the DPs we obtained the following set of size-change graphs: 459.66/163.97 *S(active(X)) -> S(X) 459.66/163.97 The graph contains the following edges 1 > 1 459.66/163.97 459.66/163.97 459.66/163.97 *S(mark(X)) -> S(X) 459.66/163.97 The graph contains the following edges 1 > 1 459.66/163.97 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (18) 459.66/163.97 YES 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (19) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 U94^1(X1, mark(X2)) -> U94^1(X1, X2) 459.66/163.97 U94^1(mark(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(active(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(X1, active(X2)) -> U94^1(X1, X2) 459.66/163.97 459.66/163.97 The TRS R consists of the following rules: 459.66/163.97 459.66/163.97 active(zeros) -> mark(cons(0, zeros)) 459.66/163.97 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.97 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.97 active(U13(tt)) -> mark(tt) 459.66/163.97 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.97 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.97 active(U23(tt)) -> mark(tt) 459.66/163.97 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.97 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.97 active(U33(tt)) -> mark(tt) 459.66/163.97 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.97 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.97 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.97 active(U46(tt)) -> mark(tt) 459.66/163.97 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.97 active(U52(tt)) -> mark(tt) 459.66/163.97 active(U61(tt)) -> mark(tt) 459.66/163.97 active(U71(tt)) -> mark(tt) 459.66/163.97 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.97 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.97 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.97 active(U86(tt)) -> mark(tt) 459.66/163.97 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.97 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.97 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.97 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.97 active(isNat(0)) -> mark(tt) 459.66/163.97 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.97 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.97 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.97 active(isNatIList(zeros)) -> mark(tt) 459.66/163.97 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.97 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.97 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.97 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.97 active(isNatKind(0)) -> mark(tt) 459.66/163.97 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.97 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.97 active(isNatList(nil)) -> mark(tt) 459.66/163.97 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.97 active(length(nil)) -> mark(0) 459.66/163.97 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.97 mark(zeros) -> active(zeros) 459.66/163.97 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.97 mark(0) -> active(0) 459.66/163.97 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.97 mark(tt) -> active(tt) 459.66/163.97 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.97 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.97 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.97 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.97 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.97 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.97 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.97 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.97 mark(isNat(X)) -> active(isNat(X)) 459.66/163.97 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.97 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.97 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.97 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.97 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.97 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.97 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.97 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.97 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.97 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.97 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.97 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.97 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.97 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.97 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.97 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.97 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.97 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.97 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.97 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.97 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.97 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.97 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.97 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.97 mark(s(X)) -> active(s(mark(X))) 459.66/163.97 mark(length(X)) -> active(length(mark(X))) 459.66/163.97 mark(nil) -> active(nil) 459.66/163.97 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.97 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.97 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.97 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.97 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.97 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.97 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.97 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.97 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.97 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.97 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.97 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.97 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.97 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.97 U13(mark(X)) -> U13(X) 459.66/163.97 U13(active(X)) -> U13(X) 459.66/163.97 isNatList(mark(X)) -> isNatList(X) 459.66/163.97 isNatList(active(X)) -> isNatList(X) 459.66/163.97 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.97 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.97 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.97 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.97 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.97 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.97 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.97 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.97 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.97 isNatKind(active(X)) -> isNatKind(X) 459.66/163.97 U23(mark(X)) -> U23(X) 459.66/163.97 U23(active(X)) -> U23(X) 459.66/163.97 isNat(mark(X)) -> isNat(X) 459.66/163.97 isNat(active(X)) -> isNat(X) 459.66/163.97 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.97 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.97 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.97 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.97 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.97 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.97 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.97 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.97 U33(mark(X)) -> U33(X) 459.66/163.97 U33(active(X)) -> U33(X) 459.66/163.97 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.97 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.97 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.97 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.97 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.97 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.97 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.97 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.97 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.97 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.97 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.97 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.97 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.97 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.97 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.97 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.97 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.97 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.97 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.97 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.97 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.97 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.97 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.97 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.97 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.97 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.97 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.97 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.97 U46(mark(X)) -> U46(X) 459.66/163.97 U46(active(X)) -> U46(X) 459.66/163.97 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.97 isNatIList(active(X)) -> isNatIList(X) 459.66/163.97 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.97 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.97 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.97 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.97 U52(mark(X)) -> U52(X) 459.66/163.97 U52(active(X)) -> U52(X) 459.66/163.97 U61(mark(X)) -> U61(X) 459.66/163.97 U61(active(X)) -> U61(X) 459.66/163.97 U71(mark(X)) -> U71(X) 459.66/163.97 U71(active(X)) -> U71(X) 459.66/163.97 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.97 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.97 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.97 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.97 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.97 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.97 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.97 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.97 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.97 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.97 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.97 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.97 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.97 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.97 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.97 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.97 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.97 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.97 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.97 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.97 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.97 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.97 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.97 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.97 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.97 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.97 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.97 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.97 U86(mark(X)) -> U86(X) 459.66/163.97 U86(active(X)) -> U86(X) 459.66/163.97 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.97 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.97 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.97 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.97 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.97 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.97 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.97 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.97 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.97 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.97 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.97 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.97 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.97 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.97 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.97 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.97 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.97 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.97 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.97 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.97 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.97 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.97 s(mark(X)) -> s(X) 459.66/163.97 s(active(X)) -> s(X) 459.66/163.97 length(mark(X)) -> length(X) 459.66/163.97 length(active(X)) -> length(X) 459.66/163.97 459.66/163.97 The set Q consists of the following terms: 459.66/163.97 459.66/163.97 active(zeros) 459.66/163.97 active(U11(tt, x0)) 459.66/163.97 active(U12(tt, x0)) 459.66/163.97 active(U13(tt)) 459.66/163.97 active(U21(tt, x0)) 459.66/163.97 active(U22(tt, x0)) 459.66/163.97 active(U23(tt)) 459.66/163.97 active(U31(tt, x0)) 459.66/163.97 active(U32(tt, x0)) 459.66/163.97 active(U33(tt)) 459.66/163.97 active(U41(tt, x0, x1)) 459.66/163.97 active(U42(tt, x0, x1)) 459.66/163.97 active(U43(tt, x0, x1)) 459.66/163.97 active(U44(tt, x0, x1)) 459.66/163.97 active(U45(tt, x0)) 459.66/163.97 active(U46(tt)) 459.66/163.97 active(U51(tt, x0)) 459.66/163.97 active(U52(tt)) 459.66/163.97 active(U61(tt)) 459.66/163.97 active(U71(tt)) 459.66/163.97 active(U81(tt, x0, x1)) 459.66/163.97 active(U82(tt, x0, x1)) 459.66/163.97 active(U83(tt, x0, x1)) 459.66/163.97 active(U84(tt, x0, x1)) 459.66/163.97 active(U85(tt, x0)) 459.66/163.97 active(U86(tt)) 459.66/163.97 active(U91(tt, x0, x1)) 459.66/163.97 active(U92(tt, x0, x1)) 459.66/163.97 active(U93(tt, x0, x1)) 459.66/163.97 active(U94(tt, x0)) 459.66/163.97 active(isNat(0)) 459.66/163.97 active(isNat(length(x0))) 459.66/163.97 active(isNat(s(x0))) 459.66/163.97 active(isNatIList(x0)) 459.66/163.97 active(isNatIListKind(nil)) 459.66/163.97 active(isNatIListKind(zeros)) 459.66/163.97 active(isNatIListKind(cons(x0, x1))) 459.66/163.97 active(isNatKind(0)) 459.66/163.97 active(isNatKind(length(x0))) 459.66/163.97 active(isNatKind(s(x0))) 459.66/163.97 active(isNatList(nil)) 459.66/163.97 active(isNatList(cons(x0, x1))) 459.66/163.97 active(length(nil)) 459.66/163.97 active(length(cons(x0, x1))) 459.66/163.97 mark(zeros) 459.66/163.97 mark(cons(x0, x1)) 459.66/163.97 mark(0) 459.66/163.97 mark(U11(x0, x1)) 459.66/163.97 mark(tt) 459.66/163.97 mark(U12(x0, x1)) 459.66/163.97 mark(isNatIListKind(x0)) 459.66/163.97 mark(U13(x0)) 459.66/163.97 mark(isNatList(x0)) 459.66/163.97 mark(U21(x0, x1)) 459.66/163.97 mark(U22(x0, x1)) 459.66/163.97 mark(isNatKind(x0)) 459.66/163.97 mark(U23(x0)) 459.66/163.97 mark(isNat(x0)) 459.66/163.97 mark(U31(x0, x1)) 459.66/163.97 mark(U32(x0, x1)) 459.66/163.97 mark(U33(x0)) 459.66/163.97 mark(U41(x0, x1, x2)) 459.66/163.97 mark(U42(x0, x1, x2)) 459.66/163.97 mark(U43(x0, x1, x2)) 459.66/163.97 mark(U44(x0, x1, x2)) 459.66/163.97 mark(U45(x0, x1)) 459.66/163.97 mark(U46(x0)) 459.66/163.97 mark(isNatIList(x0)) 459.66/163.97 mark(U51(x0, x1)) 459.66/163.97 mark(U52(x0)) 459.66/163.97 mark(U61(x0)) 459.66/163.97 mark(U71(x0)) 459.66/163.97 mark(U81(x0, x1, x2)) 459.66/163.97 mark(U82(x0, x1, x2)) 459.66/163.97 mark(U83(x0, x1, x2)) 459.66/163.97 mark(U84(x0, x1, x2)) 459.66/163.97 mark(U85(x0, x1)) 459.66/163.97 mark(U86(x0)) 459.66/163.97 mark(U91(x0, x1, x2)) 459.66/163.97 mark(U92(x0, x1, x2)) 459.66/163.97 mark(U93(x0, x1, x2)) 459.66/163.97 mark(U94(x0, x1)) 459.66/163.97 mark(s(x0)) 459.66/163.97 mark(length(x0)) 459.66/163.97 mark(nil) 459.66/163.97 cons(mark(x0), x1) 459.66/163.97 cons(x0, mark(x1)) 459.66/163.97 cons(active(x0), x1) 459.66/163.97 cons(x0, active(x1)) 459.66/163.97 U11(mark(x0), x1) 459.66/163.97 U11(x0, mark(x1)) 459.66/163.97 U11(active(x0), x1) 459.66/163.97 U11(x0, active(x1)) 459.66/163.97 U12(mark(x0), x1) 459.66/163.97 U12(x0, mark(x1)) 459.66/163.97 U12(active(x0), x1) 459.66/163.97 U12(x0, active(x1)) 459.66/163.97 isNatIListKind(mark(x0)) 459.66/163.97 isNatIListKind(active(x0)) 459.66/163.97 U13(mark(x0)) 459.66/163.97 U13(active(x0)) 459.66/163.97 isNatList(mark(x0)) 459.66/163.97 isNatList(active(x0)) 459.66/163.97 U21(mark(x0), x1) 459.66/163.97 U21(x0, mark(x1)) 459.66/163.97 U21(active(x0), x1) 459.66/163.97 U21(x0, active(x1)) 459.66/163.97 U22(mark(x0), x1) 459.66/163.97 U22(x0, mark(x1)) 459.66/163.97 U22(active(x0), x1) 459.66/163.97 U22(x0, active(x1)) 459.66/163.97 isNatKind(mark(x0)) 459.66/163.97 isNatKind(active(x0)) 459.66/163.97 U23(mark(x0)) 459.66/163.97 U23(active(x0)) 459.66/163.97 isNat(mark(x0)) 459.66/163.97 isNat(active(x0)) 459.66/163.97 U31(mark(x0), x1) 459.66/163.97 U31(x0, mark(x1)) 459.66/163.97 U31(active(x0), x1) 459.66/163.97 U31(x0, active(x1)) 459.66/163.97 U32(mark(x0), x1) 459.66/163.97 U32(x0, mark(x1)) 459.66/163.97 U32(active(x0), x1) 459.66/163.97 U32(x0, active(x1)) 459.66/163.97 U33(mark(x0)) 459.66/163.97 U33(active(x0)) 459.66/163.97 U41(mark(x0), x1, x2) 459.66/163.97 U41(x0, mark(x1), x2) 459.66/163.97 U41(x0, x1, mark(x2)) 459.66/163.97 U41(active(x0), x1, x2) 459.66/163.97 U41(x0, active(x1), x2) 459.66/163.97 U41(x0, x1, active(x2)) 459.66/163.97 U42(mark(x0), x1, x2) 459.66/163.97 U42(x0, mark(x1), x2) 459.66/163.97 U42(x0, x1, mark(x2)) 459.66/163.97 U42(active(x0), x1, x2) 459.66/163.97 U42(x0, active(x1), x2) 459.66/163.97 U42(x0, x1, active(x2)) 459.66/163.97 U43(mark(x0), x1, x2) 459.66/163.97 U43(x0, mark(x1), x2) 459.66/163.97 U43(x0, x1, mark(x2)) 459.66/163.97 U43(active(x0), x1, x2) 459.66/163.97 U43(x0, active(x1), x2) 459.66/163.97 U43(x0, x1, active(x2)) 459.66/163.97 U44(mark(x0), x1, x2) 459.66/163.97 U44(x0, mark(x1), x2) 459.66/163.97 U44(x0, x1, mark(x2)) 459.66/163.97 U44(active(x0), x1, x2) 459.66/163.97 U44(x0, active(x1), x2) 459.66/163.97 U44(x0, x1, active(x2)) 459.66/163.97 U45(mark(x0), x1) 459.66/163.97 U45(x0, mark(x1)) 459.66/163.97 U45(active(x0), x1) 459.66/163.97 U45(x0, active(x1)) 459.66/163.97 U46(mark(x0)) 459.66/163.97 U46(active(x0)) 459.66/163.97 isNatIList(mark(x0)) 459.66/163.97 isNatIList(active(x0)) 459.66/163.97 U51(mark(x0), x1) 459.66/163.97 U51(x0, mark(x1)) 459.66/163.97 U51(active(x0), x1) 459.66/163.97 U51(x0, active(x1)) 459.66/163.97 U52(mark(x0)) 459.66/163.97 U52(active(x0)) 459.66/163.97 U61(mark(x0)) 459.66/163.97 U61(active(x0)) 459.66/163.97 U71(mark(x0)) 459.66/163.97 U71(active(x0)) 459.66/163.97 U81(mark(x0), x1, x2) 459.66/163.97 U81(x0, mark(x1), x2) 459.66/163.97 U81(x0, x1, mark(x2)) 459.66/163.97 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (20) UsableRulesProof (EQUIVALENT) 459.66/163.97 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. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (21) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 U94^1(X1, mark(X2)) -> U94^1(X1, X2) 459.66/163.97 U94^1(mark(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(active(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(X1, active(X2)) -> U94^1(X1, X2) 459.66/163.97 459.66/163.97 R is empty. 459.66/163.97 The set Q consists of the following terms: 459.66/163.97 459.66/163.97 active(zeros) 459.66/163.97 active(U11(tt, x0)) 459.66/163.97 active(U12(tt, x0)) 459.66/163.97 active(U13(tt)) 459.66/163.97 active(U21(tt, x0)) 459.66/163.97 active(U22(tt, x0)) 459.66/163.97 active(U23(tt)) 459.66/163.97 active(U31(tt, x0)) 459.66/163.97 active(U32(tt, x0)) 459.66/163.97 active(U33(tt)) 459.66/163.97 active(U41(tt, x0, x1)) 459.66/163.97 active(U42(tt, x0, x1)) 459.66/163.97 active(U43(tt, x0, x1)) 459.66/163.97 active(U44(tt, x0, x1)) 459.66/163.97 active(U45(tt, x0)) 459.66/163.97 active(U46(tt)) 459.66/163.97 active(U51(tt, x0)) 459.66/163.97 active(U52(tt)) 459.66/163.97 active(U61(tt)) 459.66/163.97 active(U71(tt)) 459.66/163.97 active(U81(tt, x0, x1)) 459.66/163.97 active(U82(tt, x0, x1)) 459.66/163.97 active(U83(tt, x0, x1)) 459.66/163.97 active(U84(tt, x0, x1)) 459.66/163.97 active(U85(tt, x0)) 459.66/163.97 active(U86(tt)) 459.66/163.97 active(U91(tt, x0, x1)) 459.66/163.97 active(U92(tt, x0, x1)) 459.66/163.97 active(U93(tt, x0, x1)) 459.66/163.97 active(U94(tt, x0)) 459.66/163.97 active(isNat(0)) 459.66/163.97 active(isNat(length(x0))) 459.66/163.97 active(isNat(s(x0))) 459.66/163.97 active(isNatIList(x0)) 459.66/163.97 active(isNatIListKind(nil)) 459.66/163.97 active(isNatIListKind(zeros)) 459.66/163.97 active(isNatIListKind(cons(x0, x1))) 459.66/163.97 active(isNatKind(0)) 459.66/163.97 active(isNatKind(length(x0))) 459.66/163.97 active(isNatKind(s(x0))) 459.66/163.97 active(isNatList(nil)) 459.66/163.97 active(isNatList(cons(x0, x1))) 459.66/163.97 active(length(nil)) 459.66/163.97 active(length(cons(x0, x1))) 459.66/163.97 mark(zeros) 459.66/163.97 mark(cons(x0, x1)) 459.66/163.97 mark(0) 459.66/163.97 mark(U11(x0, x1)) 459.66/163.97 mark(tt) 459.66/163.97 mark(U12(x0, x1)) 459.66/163.97 mark(isNatIListKind(x0)) 459.66/163.97 mark(U13(x0)) 459.66/163.97 mark(isNatList(x0)) 459.66/163.97 mark(U21(x0, x1)) 459.66/163.97 mark(U22(x0, x1)) 459.66/163.97 mark(isNatKind(x0)) 459.66/163.97 mark(U23(x0)) 459.66/163.97 mark(isNat(x0)) 459.66/163.97 mark(U31(x0, x1)) 459.66/163.97 mark(U32(x0, x1)) 459.66/163.97 mark(U33(x0)) 459.66/163.97 mark(U41(x0, x1, x2)) 459.66/163.97 mark(U42(x0, x1, x2)) 459.66/163.97 mark(U43(x0, x1, x2)) 459.66/163.97 mark(U44(x0, x1, x2)) 459.66/163.97 mark(U45(x0, x1)) 459.66/163.97 mark(U46(x0)) 459.66/163.97 mark(isNatIList(x0)) 459.66/163.97 mark(U51(x0, x1)) 459.66/163.97 mark(U52(x0)) 459.66/163.97 mark(U61(x0)) 459.66/163.97 mark(U71(x0)) 459.66/163.97 mark(U81(x0, x1, x2)) 459.66/163.97 mark(U82(x0, x1, x2)) 459.66/163.97 mark(U83(x0, x1, x2)) 459.66/163.97 mark(U84(x0, x1, x2)) 459.66/163.97 mark(U85(x0, x1)) 459.66/163.97 mark(U86(x0)) 459.66/163.97 mark(U91(x0, x1, x2)) 459.66/163.97 mark(U92(x0, x1, x2)) 459.66/163.97 mark(U93(x0, x1, x2)) 459.66/163.97 mark(U94(x0, x1)) 459.66/163.97 mark(s(x0)) 459.66/163.97 mark(length(x0)) 459.66/163.97 mark(nil) 459.66/163.97 cons(mark(x0), x1) 459.66/163.97 cons(x0, mark(x1)) 459.66/163.97 cons(active(x0), x1) 459.66/163.97 cons(x0, active(x1)) 459.66/163.97 U11(mark(x0), x1) 459.66/163.97 U11(x0, mark(x1)) 459.66/163.97 U11(active(x0), x1) 459.66/163.97 U11(x0, active(x1)) 459.66/163.97 U12(mark(x0), x1) 459.66/163.97 U12(x0, mark(x1)) 459.66/163.97 U12(active(x0), x1) 459.66/163.97 U12(x0, active(x1)) 459.66/163.97 isNatIListKind(mark(x0)) 459.66/163.97 isNatIListKind(active(x0)) 459.66/163.97 U13(mark(x0)) 459.66/163.97 U13(active(x0)) 459.66/163.97 isNatList(mark(x0)) 459.66/163.97 isNatList(active(x0)) 459.66/163.97 U21(mark(x0), x1) 459.66/163.97 U21(x0, mark(x1)) 459.66/163.97 U21(active(x0), x1) 459.66/163.97 U21(x0, active(x1)) 459.66/163.97 U22(mark(x0), x1) 459.66/163.97 U22(x0, mark(x1)) 459.66/163.97 U22(active(x0), x1) 459.66/163.97 U22(x0, active(x1)) 459.66/163.97 isNatKind(mark(x0)) 459.66/163.97 isNatKind(active(x0)) 459.66/163.97 U23(mark(x0)) 459.66/163.97 U23(active(x0)) 459.66/163.97 isNat(mark(x0)) 459.66/163.97 isNat(active(x0)) 459.66/163.97 U31(mark(x0), x1) 459.66/163.97 U31(x0, mark(x1)) 459.66/163.97 U31(active(x0), x1) 459.66/163.97 U31(x0, active(x1)) 459.66/163.97 U32(mark(x0), x1) 459.66/163.97 U32(x0, mark(x1)) 459.66/163.97 U32(active(x0), x1) 459.66/163.97 U32(x0, active(x1)) 459.66/163.97 U33(mark(x0)) 459.66/163.97 U33(active(x0)) 459.66/163.97 U41(mark(x0), x1, x2) 459.66/163.97 U41(x0, mark(x1), x2) 459.66/163.97 U41(x0, x1, mark(x2)) 459.66/163.97 U41(active(x0), x1, x2) 459.66/163.97 U41(x0, active(x1), x2) 459.66/163.97 U41(x0, x1, active(x2)) 459.66/163.97 U42(mark(x0), x1, x2) 459.66/163.97 U42(x0, mark(x1), x2) 459.66/163.97 U42(x0, x1, mark(x2)) 459.66/163.97 U42(active(x0), x1, x2) 459.66/163.97 U42(x0, active(x1), x2) 459.66/163.97 U42(x0, x1, active(x2)) 459.66/163.97 U43(mark(x0), x1, x2) 459.66/163.97 U43(x0, mark(x1), x2) 459.66/163.97 U43(x0, x1, mark(x2)) 459.66/163.97 U43(active(x0), x1, x2) 459.66/163.97 U43(x0, active(x1), x2) 459.66/163.97 U43(x0, x1, active(x2)) 459.66/163.97 U44(mark(x0), x1, x2) 459.66/163.97 U44(x0, mark(x1), x2) 459.66/163.97 U44(x0, x1, mark(x2)) 459.66/163.97 U44(active(x0), x1, x2) 459.66/163.97 U44(x0, active(x1), x2) 459.66/163.97 U44(x0, x1, active(x2)) 459.66/163.97 U45(mark(x0), x1) 459.66/163.97 U45(x0, mark(x1)) 459.66/163.97 U45(active(x0), x1) 459.66/163.97 U45(x0, active(x1)) 459.66/163.97 U46(mark(x0)) 459.66/163.97 U46(active(x0)) 459.66/163.97 isNatIList(mark(x0)) 459.66/163.97 isNatIList(active(x0)) 459.66/163.97 U51(mark(x0), x1) 459.66/163.97 U51(x0, mark(x1)) 459.66/163.97 U51(active(x0), x1) 459.66/163.97 U51(x0, active(x1)) 459.66/163.97 U52(mark(x0)) 459.66/163.97 U52(active(x0)) 459.66/163.97 U61(mark(x0)) 459.66/163.97 U61(active(x0)) 459.66/163.97 U71(mark(x0)) 459.66/163.97 U71(active(x0)) 459.66/163.97 U81(mark(x0), x1, x2) 459.66/163.97 U81(x0, mark(x1), x2) 459.66/163.97 U81(x0, x1, mark(x2)) 459.66/163.97 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (22) QReductionProof (EQUIVALENT) 459.66/163.97 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.97 459.66/163.97 cons(mark(x0), x1) 459.66/163.97 cons(x0, mark(x1)) 459.66/163.97 cons(active(x0), x1) 459.66/163.97 cons(x0, active(x1)) 459.66/163.97 U11(mark(x0), x1) 459.66/163.97 U11(x0, mark(x1)) 459.66/163.97 U11(active(x0), x1) 459.66/163.97 U11(x0, active(x1)) 459.66/163.97 U12(mark(x0), x1) 459.66/163.97 U12(x0, mark(x1)) 459.66/163.97 U12(active(x0), x1) 459.66/163.97 U12(x0, active(x1)) 459.66/163.97 isNatIListKind(mark(x0)) 459.66/163.97 isNatIListKind(active(x0)) 459.66/163.97 U13(mark(x0)) 459.66/163.97 U13(active(x0)) 459.66/163.97 isNatList(mark(x0)) 459.66/163.97 isNatList(active(x0)) 459.66/163.97 U21(mark(x0), x1) 459.66/163.97 U21(x0, mark(x1)) 459.66/163.97 U21(active(x0), x1) 459.66/163.97 U21(x0, active(x1)) 459.66/163.97 U22(mark(x0), x1) 459.66/163.97 U22(x0, mark(x1)) 459.66/163.97 U22(active(x0), x1) 459.66/163.97 U22(x0, active(x1)) 459.66/163.97 isNatKind(mark(x0)) 459.66/163.97 isNatKind(active(x0)) 459.66/163.97 U23(mark(x0)) 459.66/163.97 U23(active(x0)) 459.66/163.97 isNat(mark(x0)) 459.66/163.97 isNat(active(x0)) 459.66/163.97 U31(mark(x0), x1) 459.66/163.97 U31(x0, mark(x1)) 459.66/163.97 U31(active(x0), x1) 459.66/163.97 U31(x0, active(x1)) 459.66/163.97 U32(mark(x0), x1) 459.66/163.97 U32(x0, mark(x1)) 459.66/163.97 U32(active(x0), x1) 459.66/163.97 U32(x0, active(x1)) 459.66/163.97 U33(mark(x0)) 459.66/163.97 U33(active(x0)) 459.66/163.97 U41(mark(x0), x1, x2) 459.66/163.97 U41(x0, mark(x1), x2) 459.66/163.97 U41(x0, x1, mark(x2)) 459.66/163.97 U41(active(x0), x1, x2) 459.66/163.97 U41(x0, active(x1), x2) 459.66/163.97 U41(x0, x1, active(x2)) 459.66/163.97 U42(mark(x0), x1, x2) 459.66/163.97 U42(x0, mark(x1), x2) 459.66/163.97 U42(x0, x1, mark(x2)) 459.66/163.97 U42(active(x0), x1, x2) 459.66/163.97 U42(x0, active(x1), x2) 459.66/163.97 U42(x0, x1, active(x2)) 459.66/163.97 U43(mark(x0), x1, x2) 459.66/163.97 U43(x0, mark(x1), x2) 459.66/163.97 U43(x0, x1, mark(x2)) 459.66/163.97 U43(active(x0), x1, x2) 459.66/163.97 U43(x0, active(x1), x2) 459.66/163.97 U43(x0, x1, active(x2)) 459.66/163.97 U44(mark(x0), x1, x2) 459.66/163.97 U44(x0, mark(x1), x2) 459.66/163.97 U44(x0, x1, mark(x2)) 459.66/163.97 U44(active(x0), x1, x2) 459.66/163.97 U44(x0, active(x1), x2) 459.66/163.97 U44(x0, x1, active(x2)) 459.66/163.97 U45(mark(x0), x1) 459.66/163.97 U45(x0, mark(x1)) 459.66/163.97 U45(active(x0), x1) 459.66/163.97 U45(x0, active(x1)) 459.66/163.97 U46(mark(x0)) 459.66/163.97 U46(active(x0)) 459.66/163.97 isNatIList(mark(x0)) 459.66/163.97 isNatIList(active(x0)) 459.66/163.97 U51(mark(x0), x1) 459.66/163.97 U51(x0, mark(x1)) 459.66/163.97 U51(active(x0), x1) 459.66/163.97 U51(x0, active(x1)) 459.66/163.97 U52(mark(x0)) 459.66/163.97 U52(active(x0)) 459.66/163.97 U61(mark(x0)) 459.66/163.97 U61(active(x0)) 459.66/163.97 U71(mark(x0)) 459.66/163.97 U71(active(x0)) 459.66/163.97 U81(mark(x0), x1, x2) 459.66/163.97 U81(x0, mark(x1), x2) 459.66/163.97 U81(x0, x1, mark(x2)) 459.66/163.97 U81(active(x0), x1, x2) 459.66/163.97 U81(x0, active(x1), x2) 459.66/163.97 U81(x0, x1, active(x2)) 459.66/163.97 U82(mark(x0), x1, x2) 459.66/163.97 U82(x0, mark(x1), x2) 459.66/163.97 U82(x0, x1, mark(x2)) 459.66/163.97 U82(active(x0), x1, x2) 459.66/163.97 U82(x0, active(x1), x2) 459.66/163.97 U82(x0, x1, active(x2)) 459.66/163.97 U83(mark(x0), x1, x2) 459.66/163.97 U83(x0, mark(x1), x2) 459.66/163.97 U83(x0, x1, mark(x2)) 459.66/163.97 U83(active(x0), x1, x2) 459.66/163.97 U83(x0, active(x1), x2) 459.66/163.97 U83(x0, x1, active(x2)) 459.66/163.97 U84(mark(x0), x1, x2) 459.66/163.97 U84(x0, mark(x1), x2) 459.66/163.97 U84(x0, x1, mark(x2)) 459.66/163.97 U84(active(x0), x1, x2) 459.66/163.97 U84(x0, active(x1), x2) 459.66/163.97 U84(x0, x1, active(x2)) 459.66/163.97 U85(mark(x0), x1) 459.66/163.97 U85(x0, mark(x1)) 459.66/163.97 U85(active(x0), x1) 459.66/163.97 U85(x0, active(x1)) 459.66/163.97 U86(mark(x0)) 459.66/163.97 U86(active(x0)) 459.66/163.97 U91(mark(x0), x1, x2) 459.66/163.97 U91(x0, mark(x1), x2) 459.66/163.97 U91(x0, x1, mark(x2)) 459.66/163.97 U91(active(x0), x1, x2) 459.66/163.97 U91(x0, active(x1), x2) 459.66/163.97 U91(x0, x1, active(x2)) 459.66/163.97 U92(mark(x0), x1, x2) 459.66/163.97 U92(x0, mark(x1), x2) 459.66/163.97 U92(x0, x1, mark(x2)) 459.66/163.97 U92(active(x0), x1, x2) 459.66/163.97 U92(x0, active(x1), x2) 459.66/163.97 U92(x0, x1, active(x2)) 459.66/163.97 U93(mark(x0), x1, x2) 459.66/163.97 U93(x0, mark(x1), x2) 459.66/163.97 U93(x0, x1, mark(x2)) 459.66/163.97 U93(active(x0), x1, x2) 459.66/163.97 U93(x0, active(x1), x2) 459.66/163.97 U93(x0, x1, active(x2)) 459.66/163.97 U94(mark(x0), x1) 459.66/163.97 U94(x0, mark(x1)) 459.66/163.97 U94(active(x0), x1) 459.66/163.97 U94(x0, active(x1)) 459.66/163.97 s(mark(x0)) 459.66/163.97 s(active(x0)) 459.66/163.97 length(mark(x0)) 459.66/163.97 length(active(x0)) 459.66/163.97 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (23) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 U94^1(X1, mark(X2)) -> U94^1(X1, X2) 459.66/163.97 U94^1(mark(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(active(X1), X2) -> U94^1(X1, X2) 459.66/163.97 U94^1(X1, active(X2)) -> U94^1(X1, X2) 459.66/163.97 459.66/163.97 R is empty. 459.66/163.97 The set Q consists of the following terms: 459.66/163.97 459.66/163.97 active(zeros) 459.66/163.97 active(U11(tt, x0)) 459.66/163.97 active(U12(tt, x0)) 459.66/163.97 active(U13(tt)) 459.66/163.97 active(U21(tt, x0)) 459.66/163.97 active(U22(tt, x0)) 459.66/163.97 active(U23(tt)) 459.66/163.97 active(U31(tt, x0)) 459.66/163.97 active(U32(tt, x0)) 459.66/163.97 active(U33(tt)) 459.66/163.97 active(U41(tt, x0, x1)) 459.66/163.97 active(U42(tt, x0, x1)) 459.66/163.97 active(U43(tt, x0, x1)) 459.66/163.97 active(U44(tt, x0, x1)) 459.66/163.97 active(U45(tt, x0)) 459.66/163.97 active(U46(tt)) 459.66/163.97 active(U51(tt, x0)) 459.66/163.97 active(U52(tt)) 459.66/163.97 active(U61(tt)) 459.66/163.97 active(U71(tt)) 459.66/163.97 active(U81(tt, x0, x1)) 459.66/163.97 active(U82(tt, x0, x1)) 459.66/163.97 active(U83(tt, x0, x1)) 459.66/163.97 active(U84(tt, x0, x1)) 459.66/163.97 active(U85(tt, x0)) 459.66/163.97 active(U86(tt)) 459.66/163.97 active(U91(tt, x0, x1)) 459.66/163.97 active(U92(tt, x0, x1)) 459.66/163.97 active(U93(tt, x0, x1)) 459.66/163.97 active(U94(tt, x0)) 459.66/163.97 active(isNat(0)) 459.66/163.97 active(isNat(length(x0))) 459.66/163.97 active(isNat(s(x0))) 459.66/163.97 active(isNatIList(x0)) 459.66/163.97 active(isNatIListKind(nil)) 459.66/163.97 active(isNatIListKind(zeros)) 459.66/163.97 active(isNatIListKind(cons(x0, x1))) 459.66/163.97 active(isNatKind(0)) 459.66/163.97 active(isNatKind(length(x0))) 459.66/163.97 active(isNatKind(s(x0))) 459.66/163.97 active(isNatList(nil)) 459.66/163.97 active(isNatList(cons(x0, x1))) 459.66/163.97 active(length(nil)) 459.66/163.97 active(length(cons(x0, x1))) 459.66/163.97 mark(zeros) 459.66/163.97 mark(cons(x0, x1)) 459.66/163.97 mark(0) 459.66/163.97 mark(U11(x0, x1)) 459.66/163.97 mark(tt) 459.66/163.97 mark(U12(x0, x1)) 459.66/163.97 mark(isNatIListKind(x0)) 459.66/163.97 mark(U13(x0)) 459.66/163.97 mark(isNatList(x0)) 459.66/163.97 mark(U21(x0, x1)) 459.66/163.97 mark(U22(x0, x1)) 459.66/163.97 mark(isNatKind(x0)) 459.66/163.97 mark(U23(x0)) 459.66/163.97 mark(isNat(x0)) 459.66/163.97 mark(U31(x0, x1)) 459.66/163.97 mark(U32(x0, x1)) 459.66/163.97 mark(U33(x0)) 459.66/163.97 mark(U41(x0, x1, x2)) 459.66/163.97 mark(U42(x0, x1, x2)) 459.66/163.97 mark(U43(x0, x1, x2)) 459.66/163.97 mark(U44(x0, x1, x2)) 459.66/163.97 mark(U45(x0, x1)) 459.66/163.97 mark(U46(x0)) 459.66/163.97 mark(isNatIList(x0)) 459.66/163.97 mark(U51(x0, x1)) 459.66/163.97 mark(U52(x0)) 459.66/163.97 mark(U61(x0)) 459.66/163.97 mark(U71(x0)) 459.66/163.97 mark(U81(x0, x1, x2)) 459.66/163.97 mark(U82(x0, x1, x2)) 459.66/163.97 mark(U83(x0, x1, x2)) 459.66/163.97 mark(U84(x0, x1, x2)) 459.66/163.97 mark(U85(x0, x1)) 459.66/163.97 mark(U86(x0)) 459.66/163.97 mark(U91(x0, x1, x2)) 459.66/163.97 mark(U92(x0, x1, x2)) 459.66/163.97 mark(U93(x0, x1, x2)) 459.66/163.97 mark(U94(x0, x1)) 459.66/163.97 mark(s(x0)) 459.66/163.97 mark(length(x0)) 459.66/163.97 mark(nil) 459.66/163.97 459.66/163.97 We have to consider all minimal (P,Q,R)-chains. 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (24) QDPSizeChangeProof (EQUIVALENT) 459.66/163.97 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. 459.66/163.97 459.66/163.97 From the DPs we obtained the following set of size-change graphs: 459.66/163.97 *U94^1(X1, mark(X2)) -> U94^1(X1, X2) 459.66/163.97 The graph contains the following edges 1 >= 1, 2 > 2 459.66/163.97 459.66/163.97 459.66/163.97 *U94^1(mark(X1), X2) -> U94^1(X1, X2) 459.66/163.97 The graph contains the following edges 1 > 1, 2 >= 2 459.66/163.97 459.66/163.97 459.66/163.97 *U94^1(active(X1), X2) -> U94^1(X1, X2) 459.66/163.97 The graph contains the following edges 1 > 1, 2 >= 2 459.66/163.97 459.66/163.97 459.66/163.97 *U94^1(X1, active(X2)) -> U94^1(X1, X2) 459.66/163.97 The graph contains the following edges 1 >= 1, 2 > 2 459.66/163.97 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (25) 459.66/163.97 YES 459.66/163.97 459.66/163.97 ---------------------------------------- 459.66/163.97 459.66/163.97 (26) 459.66/163.97 Obligation: 459.66/163.97 Q DP problem: 459.66/163.97 The TRS P consists of the following rules: 459.66/163.97 459.66/163.97 U93^1(X1, mark(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.97 U93^1(mark(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.97 U93^1(X1, X2, mark(X3)) -> U93^1(X1, X2, X3) 459.66/163.97 U93^1(active(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.97 U93^1(X1, active(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.97 U93^1(X1, X2, active(X3)) -> U93^1(X1, X2, X3) 459.66/163.97 459.66/163.97 The TRS R consists of the following rules: 459.66/163.97 459.66/163.97 active(zeros) -> mark(cons(0, zeros)) 459.66/163.97 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.97 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.97 active(U13(tt)) -> mark(tt) 459.66/163.97 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.97 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.97 active(U23(tt)) -> mark(tt) 459.66/163.97 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.97 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.97 active(U33(tt)) -> mark(tt) 459.66/163.97 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.97 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.97 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.97 active(U46(tt)) -> mark(tt) 459.66/163.97 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.97 active(U52(tt)) -> mark(tt) 459.66/163.97 active(U61(tt)) -> mark(tt) 459.66/163.97 active(U71(tt)) -> mark(tt) 459.66/163.97 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.97 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.97 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.97 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.97 active(U86(tt)) -> mark(tt) 459.66/163.97 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.97 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.97 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.97 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.97 active(isNat(0)) -> mark(tt) 459.66/163.97 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.97 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.97 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.97 active(isNatIList(zeros)) -> mark(tt) 459.66/163.97 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.97 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.97 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.97 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.97 active(isNatKind(0)) -> mark(tt) 459.66/163.97 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.97 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.97 active(isNatList(nil)) -> mark(tt) 459.66/163.97 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.97 active(length(nil)) -> mark(0) 459.66/163.97 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.97 mark(zeros) -> active(zeros) 459.66/163.97 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.97 mark(0) -> active(0) 459.66/163.97 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.97 mark(tt) -> active(tt) 459.66/163.97 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.97 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.97 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.97 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.97 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.97 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.97 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.97 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.97 mark(isNat(X)) -> active(isNat(X)) 459.66/163.97 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.97 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.97 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.97 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.97 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.97 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.97 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.97 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.97 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.98 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.98 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.98 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.98 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.98 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.98 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.98 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.98 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.98 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.98 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.98 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.98 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.98 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.98 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.98 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.98 mark(s(X)) -> active(s(mark(X))) 459.66/163.98 mark(length(X)) -> active(length(mark(X))) 459.66/163.98 mark(nil) -> active(nil) 459.66/163.98 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.98 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.98 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.98 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.98 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.98 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.98 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.98 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.98 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.98 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.98 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.98 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.98 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.98 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.98 U13(mark(X)) -> U13(X) 459.66/163.98 U13(active(X)) -> U13(X) 459.66/163.98 isNatList(mark(X)) -> isNatList(X) 459.66/163.98 isNatList(active(X)) -> isNatList(X) 459.66/163.98 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.98 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.98 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.98 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.98 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.98 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.98 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.98 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.98 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.98 isNatKind(active(X)) -> isNatKind(X) 459.66/163.98 U23(mark(X)) -> U23(X) 459.66/163.98 U23(active(X)) -> U23(X) 459.66/163.98 isNat(mark(X)) -> isNat(X) 459.66/163.98 isNat(active(X)) -> isNat(X) 459.66/163.98 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.98 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.98 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.98 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.98 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.98 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.98 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.98 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.98 U33(mark(X)) -> U33(X) 459.66/163.98 U33(active(X)) -> U33(X) 459.66/163.98 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.98 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.98 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.98 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.98 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.98 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.98 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.98 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.98 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.98 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.98 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.98 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.98 U46(mark(X)) -> U46(X) 459.66/163.98 U46(active(X)) -> U46(X) 459.66/163.98 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.98 isNatIList(active(X)) -> isNatIList(X) 459.66/163.98 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.98 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.98 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.98 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.98 U52(mark(X)) -> U52(X) 459.66/163.98 U52(active(X)) -> U52(X) 459.66/163.98 U61(mark(X)) -> U61(X) 459.66/163.98 U61(active(X)) -> U61(X) 459.66/163.98 U71(mark(X)) -> U71(X) 459.66/163.98 U71(active(X)) -> U71(X) 459.66/163.98 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.98 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.98 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.98 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.98 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.98 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.98 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.98 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.98 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.98 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.98 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.98 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.98 U86(mark(X)) -> U86(X) 459.66/163.98 U86(active(X)) -> U86(X) 459.66/163.98 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.98 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.98 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.98 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.98 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.98 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.98 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.98 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.98 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.98 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.98 s(mark(X)) -> s(X) 459.66/163.98 s(active(X)) -> s(X) 459.66/163.98 length(mark(X)) -> length(X) 459.66/163.98 length(active(X)) -> length(X) 459.66/163.98 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (27) UsableRulesProof (EQUIVALENT) 459.66/163.98 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. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (28) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U93^1(X1, mark(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(mark(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, X2, mark(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(active(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, active(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, X2, active(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 459.66/163.98 R is empty. 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (29) QReductionProof (EQUIVALENT) 459.66/163.98 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.98 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (30) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U93^1(X1, mark(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(mark(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, X2, mark(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(active(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, active(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 U93^1(X1, X2, active(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 459.66/163.98 R is empty. 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (31) QDPSizeChangeProof (EQUIVALENT) 459.66/163.98 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. 459.66/163.98 459.66/163.98 From the DPs we obtained the following set of size-change graphs: 459.66/163.98 *U93^1(X1, mark(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U93^1(mark(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U93^1(X1, X2, mark(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.98 459.66/163.98 459.66/163.98 *U93^1(active(X1), X2, X3) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U93^1(X1, active(X2), X3) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U93^1(X1, X2, active(X3)) -> U93^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.98 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (32) 459.66/163.98 YES 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (33) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U92^1(X1, mark(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(mark(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, mark(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(active(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, active(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, active(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 459.66/163.98 The TRS R consists of the following rules: 459.66/163.98 459.66/163.98 active(zeros) -> mark(cons(0, zeros)) 459.66/163.98 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.98 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.98 active(U13(tt)) -> mark(tt) 459.66/163.98 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.98 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.98 active(U23(tt)) -> mark(tt) 459.66/163.98 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.98 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.98 active(U33(tt)) -> mark(tt) 459.66/163.98 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.98 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.98 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.98 active(U46(tt)) -> mark(tt) 459.66/163.98 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.98 active(U52(tt)) -> mark(tt) 459.66/163.98 active(U61(tt)) -> mark(tt) 459.66/163.98 active(U71(tt)) -> mark(tt) 459.66/163.98 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.98 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.98 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.98 active(U86(tt)) -> mark(tt) 459.66/163.98 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.98 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.98 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.98 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.98 active(isNat(0)) -> mark(tt) 459.66/163.98 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.98 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.98 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.98 active(isNatIList(zeros)) -> mark(tt) 459.66/163.98 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.98 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.98 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.98 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.98 active(isNatKind(0)) -> mark(tt) 459.66/163.98 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.98 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.98 active(isNatList(nil)) -> mark(tt) 459.66/163.98 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.98 active(length(nil)) -> mark(0) 459.66/163.98 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.98 mark(zeros) -> active(zeros) 459.66/163.98 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.98 mark(0) -> active(0) 459.66/163.98 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.98 mark(tt) -> active(tt) 459.66/163.98 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.98 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.98 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.98 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.98 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.98 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.98 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.98 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.98 mark(isNat(X)) -> active(isNat(X)) 459.66/163.98 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.98 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.98 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.98 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.98 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.98 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.98 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.98 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.98 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.98 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.98 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.98 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.98 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.98 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.98 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.98 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.98 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.98 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.98 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.98 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.98 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.98 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.98 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.98 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.98 mark(s(X)) -> active(s(mark(X))) 459.66/163.98 mark(length(X)) -> active(length(mark(X))) 459.66/163.98 mark(nil) -> active(nil) 459.66/163.98 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.98 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.98 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.98 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.98 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.98 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.98 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.98 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.98 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.98 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.98 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.98 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.98 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.98 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.98 U13(mark(X)) -> U13(X) 459.66/163.98 U13(active(X)) -> U13(X) 459.66/163.98 isNatList(mark(X)) -> isNatList(X) 459.66/163.98 isNatList(active(X)) -> isNatList(X) 459.66/163.98 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.98 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.98 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.98 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.98 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.98 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.98 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.98 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.98 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.98 isNatKind(active(X)) -> isNatKind(X) 459.66/163.98 U23(mark(X)) -> U23(X) 459.66/163.98 U23(active(X)) -> U23(X) 459.66/163.98 isNat(mark(X)) -> isNat(X) 459.66/163.98 isNat(active(X)) -> isNat(X) 459.66/163.98 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.98 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.98 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.98 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.98 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.98 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.98 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.98 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.98 U33(mark(X)) -> U33(X) 459.66/163.98 U33(active(X)) -> U33(X) 459.66/163.98 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.98 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.98 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.98 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.98 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.98 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.98 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.98 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.98 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.98 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.98 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.98 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.98 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.98 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.98 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.98 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.98 U46(mark(X)) -> U46(X) 459.66/163.98 U46(active(X)) -> U46(X) 459.66/163.98 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.98 isNatIList(active(X)) -> isNatIList(X) 459.66/163.98 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.98 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.98 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.98 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.98 U52(mark(X)) -> U52(X) 459.66/163.98 U52(active(X)) -> U52(X) 459.66/163.98 U61(mark(X)) -> U61(X) 459.66/163.98 U61(active(X)) -> U61(X) 459.66/163.98 U71(mark(X)) -> U71(X) 459.66/163.98 U71(active(X)) -> U71(X) 459.66/163.98 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.98 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.98 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.98 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.98 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.98 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.98 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.98 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.98 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.98 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.98 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.98 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.98 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.98 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.98 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.98 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.98 U86(mark(X)) -> U86(X) 459.66/163.98 U86(active(X)) -> U86(X) 459.66/163.98 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.98 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.98 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.98 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.98 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.98 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.98 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.98 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.98 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.98 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.98 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.98 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.98 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.98 s(mark(X)) -> s(X) 459.66/163.98 s(active(X)) -> s(X) 459.66/163.98 length(mark(X)) -> length(X) 459.66/163.98 length(active(X)) -> length(X) 459.66/163.98 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (34) UsableRulesProof (EQUIVALENT) 459.66/163.98 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. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (35) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U92^1(X1, mark(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(mark(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, mark(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(active(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, active(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, active(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 459.66/163.98 R is empty. 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (36) QReductionProof (EQUIVALENT) 459.66/163.98 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.98 459.66/163.98 cons(mark(x0), x1) 459.66/163.98 cons(x0, mark(x1)) 459.66/163.98 cons(active(x0), x1) 459.66/163.98 cons(x0, active(x1)) 459.66/163.98 U11(mark(x0), x1) 459.66/163.98 U11(x0, mark(x1)) 459.66/163.98 U11(active(x0), x1) 459.66/163.98 U11(x0, active(x1)) 459.66/163.98 U12(mark(x0), x1) 459.66/163.98 U12(x0, mark(x1)) 459.66/163.98 U12(active(x0), x1) 459.66/163.98 U12(x0, active(x1)) 459.66/163.98 isNatIListKind(mark(x0)) 459.66/163.98 isNatIListKind(active(x0)) 459.66/163.98 U13(mark(x0)) 459.66/163.98 U13(active(x0)) 459.66/163.98 isNatList(mark(x0)) 459.66/163.98 isNatList(active(x0)) 459.66/163.98 U21(mark(x0), x1) 459.66/163.98 U21(x0, mark(x1)) 459.66/163.98 U21(active(x0), x1) 459.66/163.98 U21(x0, active(x1)) 459.66/163.98 U22(mark(x0), x1) 459.66/163.98 U22(x0, mark(x1)) 459.66/163.98 U22(active(x0), x1) 459.66/163.98 U22(x0, active(x1)) 459.66/163.98 isNatKind(mark(x0)) 459.66/163.98 isNatKind(active(x0)) 459.66/163.98 U23(mark(x0)) 459.66/163.98 U23(active(x0)) 459.66/163.98 isNat(mark(x0)) 459.66/163.98 isNat(active(x0)) 459.66/163.98 U31(mark(x0), x1) 459.66/163.98 U31(x0, mark(x1)) 459.66/163.98 U31(active(x0), x1) 459.66/163.98 U31(x0, active(x1)) 459.66/163.98 U32(mark(x0), x1) 459.66/163.98 U32(x0, mark(x1)) 459.66/163.98 U32(active(x0), x1) 459.66/163.98 U32(x0, active(x1)) 459.66/163.98 U33(mark(x0)) 459.66/163.98 U33(active(x0)) 459.66/163.98 U41(mark(x0), x1, x2) 459.66/163.98 U41(x0, mark(x1), x2) 459.66/163.98 U41(x0, x1, mark(x2)) 459.66/163.98 U41(active(x0), x1, x2) 459.66/163.98 U41(x0, active(x1), x2) 459.66/163.98 U41(x0, x1, active(x2)) 459.66/163.98 U42(mark(x0), x1, x2) 459.66/163.98 U42(x0, mark(x1), x2) 459.66/163.98 U42(x0, x1, mark(x2)) 459.66/163.98 U42(active(x0), x1, x2) 459.66/163.98 U42(x0, active(x1), x2) 459.66/163.98 U42(x0, x1, active(x2)) 459.66/163.98 U43(mark(x0), x1, x2) 459.66/163.98 U43(x0, mark(x1), x2) 459.66/163.98 U43(x0, x1, mark(x2)) 459.66/163.98 U43(active(x0), x1, x2) 459.66/163.98 U43(x0, active(x1), x2) 459.66/163.98 U43(x0, x1, active(x2)) 459.66/163.98 U44(mark(x0), x1, x2) 459.66/163.98 U44(x0, mark(x1), x2) 459.66/163.98 U44(x0, x1, mark(x2)) 459.66/163.98 U44(active(x0), x1, x2) 459.66/163.98 U44(x0, active(x1), x2) 459.66/163.98 U44(x0, x1, active(x2)) 459.66/163.98 U45(mark(x0), x1) 459.66/163.98 U45(x0, mark(x1)) 459.66/163.98 U45(active(x0), x1) 459.66/163.98 U45(x0, active(x1)) 459.66/163.98 U46(mark(x0)) 459.66/163.98 U46(active(x0)) 459.66/163.98 isNatIList(mark(x0)) 459.66/163.98 isNatIList(active(x0)) 459.66/163.98 U51(mark(x0), x1) 459.66/163.98 U51(x0, mark(x1)) 459.66/163.98 U51(active(x0), x1) 459.66/163.98 U51(x0, active(x1)) 459.66/163.98 U52(mark(x0)) 459.66/163.98 U52(active(x0)) 459.66/163.98 U61(mark(x0)) 459.66/163.98 U61(active(x0)) 459.66/163.98 U71(mark(x0)) 459.66/163.98 U71(active(x0)) 459.66/163.98 U81(mark(x0), x1, x2) 459.66/163.98 U81(x0, mark(x1), x2) 459.66/163.98 U81(x0, x1, mark(x2)) 459.66/163.98 U81(active(x0), x1, x2) 459.66/163.98 U81(x0, active(x1), x2) 459.66/163.98 U81(x0, x1, active(x2)) 459.66/163.98 U82(mark(x0), x1, x2) 459.66/163.98 U82(x0, mark(x1), x2) 459.66/163.98 U82(x0, x1, mark(x2)) 459.66/163.98 U82(active(x0), x1, x2) 459.66/163.98 U82(x0, active(x1), x2) 459.66/163.98 U82(x0, x1, active(x2)) 459.66/163.98 U83(mark(x0), x1, x2) 459.66/163.98 U83(x0, mark(x1), x2) 459.66/163.98 U83(x0, x1, mark(x2)) 459.66/163.98 U83(active(x0), x1, x2) 459.66/163.98 U83(x0, active(x1), x2) 459.66/163.98 U83(x0, x1, active(x2)) 459.66/163.98 U84(mark(x0), x1, x2) 459.66/163.98 U84(x0, mark(x1), x2) 459.66/163.98 U84(x0, x1, mark(x2)) 459.66/163.98 U84(active(x0), x1, x2) 459.66/163.98 U84(x0, active(x1), x2) 459.66/163.98 U84(x0, x1, active(x2)) 459.66/163.98 U85(mark(x0), x1) 459.66/163.98 U85(x0, mark(x1)) 459.66/163.98 U85(active(x0), x1) 459.66/163.98 U85(x0, active(x1)) 459.66/163.98 U86(mark(x0)) 459.66/163.98 U86(active(x0)) 459.66/163.98 U91(mark(x0), x1, x2) 459.66/163.98 U91(x0, mark(x1), x2) 459.66/163.98 U91(x0, x1, mark(x2)) 459.66/163.98 U91(active(x0), x1, x2) 459.66/163.98 U91(x0, active(x1), x2) 459.66/163.98 U91(x0, x1, active(x2)) 459.66/163.98 U92(mark(x0), x1, x2) 459.66/163.98 U92(x0, mark(x1), x2) 459.66/163.98 U92(x0, x1, mark(x2)) 459.66/163.98 U92(active(x0), x1, x2) 459.66/163.98 U92(x0, active(x1), x2) 459.66/163.98 U92(x0, x1, active(x2)) 459.66/163.98 U93(mark(x0), x1, x2) 459.66/163.98 U93(x0, mark(x1), x2) 459.66/163.98 U93(x0, x1, mark(x2)) 459.66/163.98 U93(active(x0), x1, x2) 459.66/163.98 U93(x0, active(x1), x2) 459.66/163.98 U93(x0, x1, active(x2)) 459.66/163.98 U94(mark(x0), x1) 459.66/163.98 U94(x0, mark(x1)) 459.66/163.98 U94(active(x0), x1) 459.66/163.98 U94(x0, active(x1)) 459.66/163.98 s(mark(x0)) 459.66/163.98 s(active(x0)) 459.66/163.98 length(mark(x0)) 459.66/163.98 length(active(x0)) 459.66/163.98 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (37) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U92^1(X1, mark(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(mark(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, mark(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(active(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, active(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 U92^1(X1, X2, active(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 459.66/163.98 R is empty. 459.66/163.98 The set Q consists of the following terms: 459.66/163.98 459.66/163.98 active(zeros) 459.66/163.98 active(U11(tt, x0)) 459.66/163.98 active(U12(tt, x0)) 459.66/163.98 active(U13(tt)) 459.66/163.98 active(U21(tt, x0)) 459.66/163.98 active(U22(tt, x0)) 459.66/163.98 active(U23(tt)) 459.66/163.98 active(U31(tt, x0)) 459.66/163.98 active(U32(tt, x0)) 459.66/163.98 active(U33(tt)) 459.66/163.98 active(U41(tt, x0, x1)) 459.66/163.98 active(U42(tt, x0, x1)) 459.66/163.98 active(U43(tt, x0, x1)) 459.66/163.98 active(U44(tt, x0, x1)) 459.66/163.98 active(U45(tt, x0)) 459.66/163.98 active(U46(tt)) 459.66/163.98 active(U51(tt, x0)) 459.66/163.98 active(U52(tt)) 459.66/163.98 active(U61(tt)) 459.66/163.98 active(U71(tt)) 459.66/163.98 active(U81(tt, x0, x1)) 459.66/163.98 active(U82(tt, x0, x1)) 459.66/163.98 active(U83(tt, x0, x1)) 459.66/163.98 active(U84(tt, x0, x1)) 459.66/163.98 active(U85(tt, x0)) 459.66/163.98 active(U86(tt)) 459.66/163.98 active(U91(tt, x0, x1)) 459.66/163.98 active(U92(tt, x0, x1)) 459.66/163.98 active(U93(tt, x0, x1)) 459.66/163.98 active(U94(tt, x0)) 459.66/163.98 active(isNat(0)) 459.66/163.98 active(isNat(length(x0))) 459.66/163.98 active(isNat(s(x0))) 459.66/163.98 active(isNatIList(x0)) 459.66/163.98 active(isNatIListKind(nil)) 459.66/163.98 active(isNatIListKind(zeros)) 459.66/163.98 active(isNatIListKind(cons(x0, x1))) 459.66/163.98 active(isNatKind(0)) 459.66/163.98 active(isNatKind(length(x0))) 459.66/163.98 active(isNatKind(s(x0))) 459.66/163.98 active(isNatList(nil)) 459.66/163.98 active(isNatList(cons(x0, x1))) 459.66/163.98 active(length(nil)) 459.66/163.98 active(length(cons(x0, x1))) 459.66/163.98 mark(zeros) 459.66/163.98 mark(cons(x0, x1)) 459.66/163.98 mark(0) 459.66/163.98 mark(U11(x0, x1)) 459.66/163.98 mark(tt) 459.66/163.98 mark(U12(x0, x1)) 459.66/163.98 mark(isNatIListKind(x0)) 459.66/163.98 mark(U13(x0)) 459.66/163.98 mark(isNatList(x0)) 459.66/163.98 mark(U21(x0, x1)) 459.66/163.98 mark(U22(x0, x1)) 459.66/163.98 mark(isNatKind(x0)) 459.66/163.98 mark(U23(x0)) 459.66/163.98 mark(isNat(x0)) 459.66/163.98 mark(U31(x0, x1)) 459.66/163.98 mark(U32(x0, x1)) 459.66/163.98 mark(U33(x0)) 459.66/163.98 mark(U41(x0, x1, x2)) 459.66/163.98 mark(U42(x0, x1, x2)) 459.66/163.98 mark(U43(x0, x1, x2)) 459.66/163.98 mark(U44(x0, x1, x2)) 459.66/163.98 mark(U45(x0, x1)) 459.66/163.98 mark(U46(x0)) 459.66/163.98 mark(isNatIList(x0)) 459.66/163.98 mark(U51(x0, x1)) 459.66/163.98 mark(U52(x0)) 459.66/163.98 mark(U61(x0)) 459.66/163.98 mark(U71(x0)) 459.66/163.98 mark(U81(x0, x1, x2)) 459.66/163.98 mark(U82(x0, x1, x2)) 459.66/163.98 mark(U83(x0, x1, x2)) 459.66/163.98 mark(U84(x0, x1, x2)) 459.66/163.98 mark(U85(x0, x1)) 459.66/163.98 mark(U86(x0)) 459.66/163.98 mark(U91(x0, x1, x2)) 459.66/163.98 mark(U92(x0, x1, x2)) 459.66/163.98 mark(U93(x0, x1, x2)) 459.66/163.98 mark(U94(x0, x1)) 459.66/163.98 mark(s(x0)) 459.66/163.98 mark(length(x0)) 459.66/163.98 mark(nil) 459.66/163.98 459.66/163.98 We have to consider all minimal (P,Q,R)-chains. 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (38) QDPSizeChangeProof (EQUIVALENT) 459.66/163.98 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. 459.66/163.98 459.66/163.98 From the DPs we obtained the following set of size-change graphs: 459.66/163.98 *U92^1(X1, mark(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U92^1(mark(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U92^1(X1, X2, mark(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.98 459.66/163.98 459.66/163.98 *U92^1(active(X1), X2, X3) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U92^1(X1, active(X2), X3) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.98 459.66/163.98 459.66/163.98 *U92^1(X1, X2, active(X3)) -> U92^1(X1, X2, X3) 459.66/163.98 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.98 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (39) 459.66/163.98 YES 459.66/163.98 459.66/163.98 ---------------------------------------- 459.66/163.98 459.66/163.98 (40) 459.66/163.98 Obligation: 459.66/163.98 Q DP problem: 459.66/163.98 The TRS P consists of the following rules: 459.66/163.98 459.66/163.98 U91^1(X1, mark(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.98 U91^1(mark(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.98 U91^1(X1, X2, mark(X3)) -> U91^1(X1, X2, X3) 459.66/163.98 U91^1(active(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.98 U91^1(X1, active(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.98 U91^1(X1, X2, active(X3)) -> U91^1(X1, X2, X3) 459.66/163.98 459.66/163.98 The TRS R consists of the following rules: 459.66/163.98 459.66/163.98 active(zeros) -> mark(cons(0, zeros)) 459.66/163.98 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.98 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.98 active(U13(tt)) -> mark(tt) 459.66/163.98 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.98 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.98 active(U23(tt)) -> mark(tt) 459.66/163.98 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.98 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.98 active(U33(tt)) -> mark(tt) 459.66/163.98 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.98 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.98 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.98 active(U46(tt)) -> mark(tt) 459.66/163.98 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.98 active(U52(tt)) -> mark(tt) 459.66/163.98 active(U61(tt)) -> mark(tt) 459.66/163.98 active(U71(tt)) -> mark(tt) 459.66/163.98 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.98 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.98 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.98 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.98 active(U86(tt)) -> mark(tt) 459.66/163.98 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.98 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.98 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.98 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.99 active(isNat(0)) -> mark(tt) 459.66/163.99 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.99 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.99 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.99 active(isNatIList(zeros)) -> mark(tt) 459.66/163.99 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.99 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.99 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.99 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.99 active(isNatKind(0)) -> mark(tt) 459.66/163.99 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.99 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.99 active(isNatList(nil)) -> mark(tt) 459.66/163.99 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.99 active(length(nil)) -> mark(0) 459.66/163.99 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.99 mark(zeros) -> active(zeros) 459.66/163.99 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.99 mark(0) -> active(0) 459.66/163.99 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.99 mark(tt) -> active(tt) 459.66/163.99 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.99 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.99 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.99 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.99 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.99 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.99 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.99 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.99 mark(isNat(X)) -> active(isNat(X)) 459.66/163.99 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.99 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.99 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.99 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.99 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.99 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.99 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.99 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.99 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.99 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.99 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.99 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.99 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.99 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.99 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.99 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.99 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.99 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.99 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.99 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.99 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.99 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.99 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.99 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.99 mark(s(X)) -> active(s(mark(X))) 459.66/163.99 mark(length(X)) -> active(length(mark(X))) 459.66/163.99 mark(nil) -> active(nil) 459.66/163.99 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.99 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.99 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.99 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.99 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.99 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.99 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.99 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.99 U13(mark(X)) -> U13(X) 459.66/163.99 U13(active(X)) -> U13(X) 459.66/163.99 isNatList(mark(X)) -> isNatList(X) 459.66/163.99 isNatList(active(X)) -> isNatList(X) 459.66/163.99 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.99 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.99 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.99 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.99 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.99 isNatKind(active(X)) -> isNatKind(X) 459.66/163.99 U23(mark(X)) -> U23(X) 459.66/163.99 U23(active(X)) -> U23(X) 459.66/163.99 isNat(mark(X)) -> isNat(X) 459.66/163.99 isNat(active(X)) -> isNat(X) 459.66/163.99 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.99 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.99 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.99 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.99 U33(mark(X)) -> U33(X) 459.66/163.99 U33(active(X)) -> U33(X) 459.66/163.99 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.99 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.99 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.99 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.99 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.99 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.99 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.99 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.99 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.99 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.99 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.99 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.99 U46(mark(X)) -> U46(X) 459.66/163.99 U46(active(X)) -> U46(X) 459.66/163.99 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.99 isNatIList(active(X)) -> isNatIList(X) 459.66/163.99 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.99 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.99 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.99 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.99 U52(mark(X)) -> U52(X) 459.66/163.99 U52(active(X)) -> U52(X) 459.66/163.99 U61(mark(X)) -> U61(X) 459.66/163.99 U61(active(X)) -> U61(X) 459.66/163.99 U71(mark(X)) -> U71(X) 459.66/163.99 U71(active(X)) -> U71(X) 459.66/163.99 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.99 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.99 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.99 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.99 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.99 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.99 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.99 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.99 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.99 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.99 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.99 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.99 U86(mark(X)) -> U86(X) 459.66/163.99 U86(active(X)) -> U86(X) 459.66/163.99 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.99 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.99 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.99 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.99 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.99 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.99 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.99 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.99 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.99 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.99 s(mark(X)) -> s(X) 459.66/163.99 s(active(X)) -> s(X) 459.66/163.99 length(mark(X)) -> length(X) 459.66/163.99 length(active(X)) -> length(X) 459.66/163.99 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (41) UsableRulesProof (EQUIVALENT) 459.66/163.99 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. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (42) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U91^1(X1, mark(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(mark(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, X2, mark(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(active(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, active(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, X2, active(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 459.66/163.99 R is empty. 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (43) QReductionProof (EQUIVALENT) 459.66/163.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.99 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (44) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U91^1(X1, mark(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(mark(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, X2, mark(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(active(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, active(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 U91^1(X1, X2, active(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 459.66/163.99 R is empty. 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (45) QDPSizeChangeProof (EQUIVALENT) 459.66/163.99 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. 459.66/163.99 459.66/163.99 From the DPs we obtained the following set of size-change graphs: 459.66/163.99 *U91^1(X1, mark(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.99 459.66/163.99 459.66/163.99 *U91^1(mark(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.99 459.66/163.99 459.66/163.99 *U91^1(X1, X2, mark(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.99 459.66/163.99 459.66/163.99 *U91^1(active(X1), X2, X3) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.66/163.99 459.66/163.99 459.66/163.99 *U91^1(X1, active(X2), X3) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.66/163.99 459.66/163.99 459.66/163.99 *U91^1(X1, X2, active(X3)) -> U91^1(X1, X2, X3) 459.66/163.99 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.66/163.99 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (46) 459.66/163.99 YES 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (47) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U86^1(active(X)) -> U86^1(X) 459.66/163.99 U86^1(mark(X)) -> U86^1(X) 459.66/163.99 459.66/163.99 The TRS R consists of the following rules: 459.66/163.99 459.66/163.99 active(zeros) -> mark(cons(0, zeros)) 459.66/163.99 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.99 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.99 active(U13(tt)) -> mark(tt) 459.66/163.99 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.99 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.99 active(U23(tt)) -> mark(tt) 459.66/163.99 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.99 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.99 active(U33(tt)) -> mark(tt) 459.66/163.99 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.99 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.99 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.99 active(U46(tt)) -> mark(tt) 459.66/163.99 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.99 active(U52(tt)) -> mark(tt) 459.66/163.99 active(U61(tt)) -> mark(tt) 459.66/163.99 active(U71(tt)) -> mark(tt) 459.66/163.99 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.99 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.99 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.99 active(U86(tt)) -> mark(tt) 459.66/163.99 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.99 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.99 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.99 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.99 active(isNat(0)) -> mark(tt) 459.66/163.99 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.99 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.99 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.99 active(isNatIList(zeros)) -> mark(tt) 459.66/163.99 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.99 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.99 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.99 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.99 active(isNatKind(0)) -> mark(tt) 459.66/163.99 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.99 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.99 active(isNatList(nil)) -> mark(tt) 459.66/163.99 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.99 active(length(nil)) -> mark(0) 459.66/163.99 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.99 mark(zeros) -> active(zeros) 459.66/163.99 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.99 mark(0) -> active(0) 459.66/163.99 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.99 mark(tt) -> active(tt) 459.66/163.99 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.99 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.99 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.99 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.99 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.99 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.99 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.99 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.99 mark(isNat(X)) -> active(isNat(X)) 459.66/163.99 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.99 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.99 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.99 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.99 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.99 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.99 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.99 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.99 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.99 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.99 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.99 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.99 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.99 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.99 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.99 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.99 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.99 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.99 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.99 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.99 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.99 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.99 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.99 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.99 mark(s(X)) -> active(s(mark(X))) 459.66/163.99 mark(length(X)) -> active(length(mark(X))) 459.66/163.99 mark(nil) -> active(nil) 459.66/163.99 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.99 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.99 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.99 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.99 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.99 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.99 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.99 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.99 U13(mark(X)) -> U13(X) 459.66/163.99 U13(active(X)) -> U13(X) 459.66/163.99 isNatList(mark(X)) -> isNatList(X) 459.66/163.99 isNatList(active(X)) -> isNatList(X) 459.66/163.99 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.99 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.99 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.99 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.99 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.99 isNatKind(active(X)) -> isNatKind(X) 459.66/163.99 U23(mark(X)) -> U23(X) 459.66/163.99 U23(active(X)) -> U23(X) 459.66/163.99 isNat(mark(X)) -> isNat(X) 459.66/163.99 isNat(active(X)) -> isNat(X) 459.66/163.99 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.99 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.99 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.99 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.99 U33(mark(X)) -> U33(X) 459.66/163.99 U33(active(X)) -> U33(X) 459.66/163.99 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.99 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/163.99 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/163.99 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/163.99 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/163.99 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/163.99 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/163.99 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/163.99 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/163.99 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/163.99 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/163.99 U45(mark(X1), X2) -> U45(X1, X2) 459.66/163.99 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/163.99 U45(active(X1), X2) -> U45(X1, X2) 459.66/163.99 U45(X1, active(X2)) -> U45(X1, X2) 459.66/163.99 U46(mark(X)) -> U46(X) 459.66/163.99 U46(active(X)) -> U46(X) 459.66/163.99 isNatIList(mark(X)) -> isNatIList(X) 459.66/163.99 isNatIList(active(X)) -> isNatIList(X) 459.66/163.99 U51(mark(X1), X2) -> U51(X1, X2) 459.66/163.99 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/163.99 U51(active(X1), X2) -> U51(X1, X2) 459.66/163.99 U51(X1, active(X2)) -> U51(X1, X2) 459.66/163.99 U52(mark(X)) -> U52(X) 459.66/163.99 U52(active(X)) -> U52(X) 459.66/163.99 U61(mark(X)) -> U61(X) 459.66/163.99 U61(active(X)) -> U61(X) 459.66/163.99 U71(mark(X)) -> U71(X) 459.66/163.99 U71(active(X)) -> U71(X) 459.66/163.99 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/163.99 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/163.99 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/163.99 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/163.99 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/163.99 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/163.99 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/163.99 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/163.99 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/163.99 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/163.99 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/163.99 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/163.99 U85(mark(X1), X2) -> U85(X1, X2) 459.66/163.99 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/163.99 U85(active(X1), X2) -> U85(X1, X2) 459.66/163.99 U85(X1, active(X2)) -> U85(X1, X2) 459.66/163.99 U86(mark(X)) -> U86(X) 459.66/163.99 U86(active(X)) -> U86(X) 459.66/163.99 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/163.99 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/163.99 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/163.99 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/163.99 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/163.99 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/163.99 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/163.99 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/163.99 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/163.99 U94(mark(X1), X2) -> U94(X1, X2) 459.66/163.99 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/163.99 U94(active(X1), X2) -> U94(X1, X2) 459.66/163.99 U94(X1, active(X2)) -> U94(X1, X2) 459.66/163.99 s(mark(X)) -> s(X) 459.66/163.99 s(active(X)) -> s(X) 459.66/163.99 length(mark(X)) -> length(X) 459.66/163.99 length(active(X)) -> length(X) 459.66/163.99 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (48) UsableRulesProof (EQUIVALENT) 459.66/163.99 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. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (49) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U86^1(active(X)) -> U86^1(X) 459.66/163.99 U86^1(mark(X)) -> U86^1(X) 459.66/163.99 459.66/163.99 R is empty. 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (50) QReductionProof (EQUIVALENT) 459.66/163.99 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/163.99 459.66/163.99 cons(mark(x0), x1) 459.66/163.99 cons(x0, mark(x1)) 459.66/163.99 cons(active(x0), x1) 459.66/163.99 cons(x0, active(x1)) 459.66/163.99 U11(mark(x0), x1) 459.66/163.99 U11(x0, mark(x1)) 459.66/163.99 U11(active(x0), x1) 459.66/163.99 U11(x0, active(x1)) 459.66/163.99 U12(mark(x0), x1) 459.66/163.99 U12(x0, mark(x1)) 459.66/163.99 U12(active(x0), x1) 459.66/163.99 U12(x0, active(x1)) 459.66/163.99 isNatIListKind(mark(x0)) 459.66/163.99 isNatIListKind(active(x0)) 459.66/163.99 U13(mark(x0)) 459.66/163.99 U13(active(x0)) 459.66/163.99 isNatList(mark(x0)) 459.66/163.99 isNatList(active(x0)) 459.66/163.99 U21(mark(x0), x1) 459.66/163.99 U21(x0, mark(x1)) 459.66/163.99 U21(active(x0), x1) 459.66/163.99 U21(x0, active(x1)) 459.66/163.99 U22(mark(x0), x1) 459.66/163.99 U22(x0, mark(x1)) 459.66/163.99 U22(active(x0), x1) 459.66/163.99 U22(x0, active(x1)) 459.66/163.99 isNatKind(mark(x0)) 459.66/163.99 isNatKind(active(x0)) 459.66/163.99 U23(mark(x0)) 459.66/163.99 U23(active(x0)) 459.66/163.99 isNat(mark(x0)) 459.66/163.99 isNat(active(x0)) 459.66/163.99 U31(mark(x0), x1) 459.66/163.99 U31(x0, mark(x1)) 459.66/163.99 U31(active(x0), x1) 459.66/163.99 U31(x0, active(x1)) 459.66/163.99 U32(mark(x0), x1) 459.66/163.99 U32(x0, mark(x1)) 459.66/163.99 U32(active(x0), x1) 459.66/163.99 U32(x0, active(x1)) 459.66/163.99 U33(mark(x0)) 459.66/163.99 U33(active(x0)) 459.66/163.99 U41(mark(x0), x1, x2) 459.66/163.99 U41(x0, mark(x1), x2) 459.66/163.99 U41(x0, x1, mark(x2)) 459.66/163.99 U41(active(x0), x1, x2) 459.66/163.99 U41(x0, active(x1), x2) 459.66/163.99 U41(x0, x1, active(x2)) 459.66/163.99 U42(mark(x0), x1, x2) 459.66/163.99 U42(x0, mark(x1), x2) 459.66/163.99 U42(x0, x1, mark(x2)) 459.66/163.99 U42(active(x0), x1, x2) 459.66/163.99 U42(x0, active(x1), x2) 459.66/163.99 U42(x0, x1, active(x2)) 459.66/163.99 U43(mark(x0), x1, x2) 459.66/163.99 U43(x0, mark(x1), x2) 459.66/163.99 U43(x0, x1, mark(x2)) 459.66/163.99 U43(active(x0), x1, x2) 459.66/163.99 U43(x0, active(x1), x2) 459.66/163.99 U43(x0, x1, active(x2)) 459.66/163.99 U44(mark(x0), x1, x2) 459.66/163.99 U44(x0, mark(x1), x2) 459.66/163.99 U44(x0, x1, mark(x2)) 459.66/163.99 U44(active(x0), x1, x2) 459.66/163.99 U44(x0, active(x1), x2) 459.66/163.99 U44(x0, x1, active(x2)) 459.66/163.99 U45(mark(x0), x1) 459.66/163.99 U45(x0, mark(x1)) 459.66/163.99 U45(active(x0), x1) 459.66/163.99 U45(x0, active(x1)) 459.66/163.99 U46(mark(x0)) 459.66/163.99 U46(active(x0)) 459.66/163.99 isNatIList(mark(x0)) 459.66/163.99 isNatIList(active(x0)) 459.66/163.99 U51(mark(x0), x1) 459.66/163.99 U51(x0, mark(x1)) 459.66/163.99 U51(active(x0), x1) 459.66/163.99 U51(x0, active(x1)) 459.66/163.99 U52(mark(x0)) 459.66/163.99 U52(active(x0)) 459.66/163.99 U61(mark(x0)) 459.66/163.99 U61(active(x0)) 459.66/163.99 U71(mark(x0)) 459.66/163.99 U71(active(x0)) 459.66/163.99 U81(mark(x0), x1, x2) 459.66/163.99 U81(x0, mark(x1), x2) 459.66/163.99 U81(x0, x1, mark(x2)) 459.66/163.99 U81(active(x0), x1, x2) 459.66/163.99 U81(x0, active(x1), x2) 459.66/163.99 U81(x0, x1, active(x2)) 459.66/163.99 U82(mark(x0), x1, x2) 459.66/163.99 U82(x0, mark(x1), x2) 459.66/163.99 U82(x0, x1, mark(x2)) 459.66/163.99 U82(active(x0), x1, x2) 459.66/163.99 U82(x0, active(x1), x2) 459.66/163.99 U82(x0, x1, active(x2)) 459.66/163.99 U83(mark(x0), x1, x2) 459.66/163.99 U83(x0, mark(x1), x2) 459.66/163.99 U83(x0, x1, mark(x2)) 459.66/163.99 U83(active(x0), x1, x2) 459.66/163.99 U83(x0, active(x1), x2) 459.66/163.99 U83(x0, x1, active(x2)) 459.66/163.99 U84(mark(x0), x1, x2) 459.66/163.99 U84(x0, mark(x1), x2) 459.66/163.99 U84(x0, x1, mark(x2)) 459.66/163.99 U84(active(x0), x1, x2) 459.66/163.99 U84(x0, active(x1), x2) 459.66/163.99 U84(x0, x1, active(x2)) 459.66/163.99 U85(mark(x0), x1) 459.66/163.99 U85(x0, mark(x1)) 459.66/163.99 U85(active(x0), x1) 459.66/163.99 U85(x0, active(x1)) 459.66/163.99 U86(mark(x0)) 459.66/163.99 U86(active(x0)) 459.66/163.99 U91(mark(x0), x1, x2) 459.66/163.99 U91(x0, mark(x1), x2) 459.66/163.99 U91(x0, x1, mark(x2)) 459.66/163.99 U91(active(x0), x1, x2) 459.66/163.99 U91(x0, active(x1), x2) 459.66/163.99 U91(x0, x1, active(x2)) 459.66/163.99 U92(mark(x0), x1, x2) 459.66/163.99 U92(x0, mark(x1), x2) 459.66/163.99 U92(x0, x1, mark(x2)) 459.66/163.99 U92(active(x0), x1, x2) 459.66/163.99 U92(x0, active(x1), x2) 459.66/163.99 U92(x0, x1, active(x2)) 459.66/163.99 U93(mark(x0), x1, x2) 459.66/163.99 U93(x0, mark(x1), x2) 459.66/163.99 U93(x0, x1, mark(x2)) 459.66/163.99 U93(active(x0), x1, x2) 459.66/163.99 U93(x0, active(x1), x2) 459.66/163.99 U93(x0, x1, active(x2)) 459.66/163.99 U94(mark(x0), x1) 459.66/163.99 U94(x0, mark(x1)) 459.66/163.99 U94(active(x0), x1) 459.66/163.99 U94(x0, active(x1)) 459.66/163.99 s(mark(x0)) 459.66/163.99 s(active(x0)) 459.66/163.99 length(mark(x0)) 459.66/163.99 length(active(x0)) 459.66/163.99 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (51) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U86^1(active(X)) -> U86^1(X) 459.66/163.99 U86^1(mark(X)) -> U86^1(X) 459.66/163.99 459.66/163.99 R is empty. 459.66/163.99 The set Q consists of the following terms: 459.66/163.99 459.66/163.99 active(zeros) 459.66/163.99 active(U11(tt, x0)) 459.66/163.99 active(U12(tt, x0)) 459.66/163.99 active(U13(tt)) 459.66/163.99 active(U21(tt, x0)) 459.66/163.99 active(U22(tt, x0)) 459.66/163.99 active(U23(tt)) 459.66/163.99 active(U31(tt, x0)) 459.66/163.99 active(U32(tt, x0)) 459.66/163.99 active(U33(tt)) 459.66/163.99 active(U41(tt, x0, x1)) 459.66/163.99 active(U42(tt, x0, x1)) 459.66/163.99 active(U43(tt, x0, x1)) 459.66/163.99 active(U44(tt, x0, x1)) 459.66/163.99 active(U45(tt, x0)) 459.66/163.99 active(U46(tt)) 459.66/163.99 active(U51(tt, x0)) 459.66/163.99 active(U52(tt)) 459.66/163.99 active(U61(tt)) 459.66/163.99 active(U71(tt)) 459.66/163.99 active(U81(tt, x0, x1)) 459.66/163.99 active(U82(tt, x0, x1)) 459.66/163.99 active(U83(tt, x0, x1)) 459.66/163.99 active(U84(tt, x0, x1)) 459.66/163.99 active(U85(tt, x0)) 459.66/163.99 active(U86(tt)) 459.66/163.99 active(U91(tt, x0, x1)) 459.66/163.99 active(U92(tt, x0, x1)) 459.66/163.99 active(U93(tt, x0, x1)) 459.66/163.99 active(U94(tt, x0)) 459.66/163.99 active(isNat(0)) 459.66/163.99 active(isNat(length(x0))) 459.66/163.99 active(isNat(s(x0))) 459.66/163.99 active(isNatIList(x0)) 459.66/163.99 active(isNatIListKind(nil)) 459.66/163.99 active(isNatIListKind(zeros)) 459.66/163.99 active(isNatIListKind(cons(x0, x1))) 459.66/163.99 active(isNatKind(0)) 459.66/163.99 active(isNatKind(length(x0))) 459.66/163.99 active(isNatKind(s(x0))) 459.66/163.99 active(isNatList(nil)) 459.66/163.99 active(isNatList(cons(x0, x1))) 459.66/163.99 active(length(nil)) 459.66/163.99 active(length(cons(x0, x1))) 459.66/163.99 mark(zeros) 459.66/163.99 mark(cons(x0, x1)) 459.66/163.99 mark(0) 459.66/163.99 mark(U11(x0, x1)) 459.66/163.99 mark(tt) 459.66/163.99 mark(U12(x0, x1)) 459.66/163.99 mark(isNatIListKind(x0)) 459.66/163.99 mark(U13(x0)) 459.66/163.99 mark(isNatList(x0)) 459.66/163.99 mark(U21(x0, x1)) 459.66/163.99 mark(U22(x0, x1)) 459.66/163.99 mark(isNatKind(x0)) 459.66/163.99 mark(U23(x0)) 459.66/163.99 mark(isNat(x0)) 459.66/163.99 mark(U31(x0, x1)) 459.66/163.99 mark(U32(x0, x1)) 459.66/163.99 mark(U33(x0)) 459.66/163.99 mark(U41(x0, x1, x2)) 459.66/163.99 mark(U42(x0, x1, x2)) 459.66/163.99 mark(U43(x0, x1, x2)) 459.66/163.99 mark(U44(x0, x1, x2)) 459.66/163.99 mark(U45(x0, x1)) 459.66/163.99 mark(U46(x0)) 459.66/163.99 mark(isNatIList(x0)) 459.66/163.99 mark(U51(x0, x1)) 459.66/163.99 mark(U52(x0)) 459.66/163.99 mark(U61(x0)) 459.66/163.99 mark(U71(x0)) 459.66/163.99 mark(U81(x0, x1, x2)) 459.66/163.99 mark(U82(x0, x1, x2)) 459.66/163.99 mark(U83(x0, x1, x2)) 459.66/163.99 mark(U84(x0, x1, x2)) 459.66/163.99 mark(U85(x0, x1)) 459.66/163.99 mark(U86(x0)) 459.66/163.99 mark(U91(x0, x1, x2)) 459.66/163.99 mark(U92(x0, x1, x2)) 459.66/163.99 mark(U93(x0, x1, x2)) 459.66/163.99 mark(U94(x0, x1)) 459.66/163.99 mark(s(x0)) 459.66/163.99 mark(length(x0)) 459.66/163.99 mark(nil) 459.66/163.99 459.66/163.99 We have to consider all minimal (P,Q,R)-chains. 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (52) QDPSizeChangeProof (EQUIVALENT) 459.66/163.99 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. 459.66/163.99 459.66/163.99 From the DPs we obtained the following set of size-change graphs: 459.66/163.99 *U86^1(active(X)) -> U86^1(X) 459.66/163.99 The graph contains the following edges 1 > 1 459.66/163.99 459.66/163.99 459.66/163.99 *U86^1(mark(X)) -> U86^1(X) 459.66/163.99 The graph contains the following edges 1 > 1 459.66/163.99 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (53) 459.66/163.99 YES 459.66/163.99 459.66/163.99 ---------------------------------------- 459.66/163.99 459.66/163.99 (54) 459.66/163.99 Obligation: 459.66/163.99 Q DP problem: 459.66/163.99 The TRS P consists of the following rules: 459.66/163.99 459.66/163.99 U85^1(X1, mark(X2)) -> U85^1(X1, X2) 459.66/163.99 U85^1(mark(X1), X2) -> U85^1(X1, X2) 459.66/163.99 U85^1(active(X1), X2) -> U85^1(X1, X2) 459.66/163.99 U85^1(X1, active(X2)) -> U85^1(X1, X2) 459.66/163.99 459.66/163.99 The TRS R consists of the following rules: 459.66/163.99 459.66/163.99 active(zeros) -> mark(cons(0, zeros)) 459.66/163.99 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.66/163.99 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.66/163.99 active(U13(tt)) -> mark(tt) 459.66/163.99 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.66/163.99 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.66/163.99 active(U23(tt)) -> mark(tt) 459.66/163.99 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.66/163.99 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.66/163.99 active(U33(tt)) -> mark(tt) 459.66/163.99 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.66/163.99 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.66/163.99 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.66/163.99 active(U46(tt)) -> mark(tt) 459.66/163.99 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.66/163.99 active(U52(tt)) -> mark(tt) 459.66/163.99 active(U61(tt)) -> mark(tt) 459.66/163.99 active(U71(tt)) -> mark(tt) 459.66/163.99 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.66/163.99 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.66/163.99 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.66/163.99 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.66/163.99 active(U86(tt)) -> mark(tt) 459.66/163.99 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.66/163.99 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.66/163.99 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.66/163.99 active(U94(tt, L)) -> mark(s(length(L))) 459.66/163.99 active(isNat(0)) -> mark(tt) 459.66/163.99 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.66/163.99 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.66/163.99 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.66/163.99 active(isNatIList(zeros)) -> mark(tt) 459.66/163.99 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.66/163.99 active(isNatIListKind(nil)) -> mark(tt) 459.66/163.99 active(isNatIListKind(zeros)) -> mark(tt) 459.66/163.99 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.66/163.99 active(isNatKind(0)) -> mark(tt) 459.66/163.99 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.66/163.99 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.66/163.99 active(isNatList(nil)) -> mark(tt) 459.66/163.99 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.66/163.99 active(length(nil)) -> mark(0) 459.66/163.99 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.66/163.99 mark(zeros) -> active(zeros) 459.66/163.99 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.66/163.99 mark(0) -> active(0) 459.66/163.99 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.66/163.99 mark(tt) -> active(tt) 459.66/163.99 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.66/163.99 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.66/163.99 mark(U13(X)) -> active(U13(mark(X))) 459.66/163.99 mark(isNatList(X)) -> active(isNatList(X)) 459.66/163.99 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.66/163.99 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.66/163.99 mark(isNatKind(X)) -> active(isNatKind(X)) 459.66/163.99 mark(U23(X)) -> active(U23(mark(X))) 459.66/163.99 mark(isNat(X)) -> active(isNat(X)) 459.66/163.99 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.66/163.99 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.66/163.99 mark(U33(X)) -> active(U33(mark(X))) 459.66/163.99 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.66/163.99 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.66/163.99 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.66/163.99 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.66/163.99 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.66/163.99 mark(U46(X)) -> active(U46(mark(X))) 459.66/163.99 mark(isNatIList(X)) -> active(isNatIList(X)) 459.66/163.99 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.66/163.99 mark(U52(X)) -> active(U52(mark(X))) 459.66/163.99 mark(U61(X)) -> active(U61(mark(X))) 459.66/163.99 mark(U71(X)) -> active(U71(mark(X))) 459.66/163.99 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.66/163.99 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.66/163.99 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.66/163.99 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.66/163.99 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.66/163.99 mark(U86(X)) -> active(U86(mark(X))) 459.66/163.99 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.66/163.99 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.66/163.99 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.66/163.99 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.66/163.99 mark(s(X)) -> active(s(mark(X))) 459.66/163.99 mark(length(X)) -> active(length(mark(X))) 459.66/163.99 mark(nil) -> active(nil) 459.66/163.99 cons(mark(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, mark(X2)) -> cons(X1, X2) 459.66/163.99 cons(active(X1), X2) -> cons(X1, X2) 459.66/163.99 cons(X1, active(X2)) -> cons(X1, X2) 459.66/163.99 U11(mark(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, mark(X2)) -> U11(X1, X2) 459.66/163.99 U11(active(X1), X2) -> U11(X1, X2) 459.66/163.99 U11(X1, active(X2)) -> U11(X1, X2) 459.66/163.99 U12(mark(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, mark(X2)) -> U12(X1, X2) 459.66/163.99 U12(active(X1), X2) -> U12(X1, X2) 459.66/163.99 U12(X1, active(X2)) -> U12(X1, X2) 459.66/163.99 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.66/163.99 isNatIListKind(active(X)) -> isNatIListKind(X) 459.66/163.99 U13(mark(X)) -> U13(X) 459.66/163.99 U13(active(X)) -> U13(X) 459.66/163.99 isNatList(mark(X)) -> isNatList(X) 459.66/163.99 isNatList(active(X)) -> isNatList(X) 459.66/163.99 U21(mark(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, mark(X2)) -> U21(X1, X2) 459.66/163.99 U21(active(X1), X2) -> U21(X1, X2) 459.66/163.99 U21(X1, active(X2)) -> U21(X1, X2) 459.66/163.99 U22(mark(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, mark(X2)) -> U22(X1, X2) 459.66/163.99 U22(active(X1), X2) -> U22(X1, X2) 459.66/163.99 U22(X1, active(X2)) -> U22(X1, X2) 459.66/163.99 isNatKind(mark(X)) -> isNatKind(X) 459.66/163.99 isNatKind(active(X)) -> isNatKind(X) 459.66/163.99 U23(mark(X)) -> U23(X) 459.66/163.99 U23(active(X)) -> U23(X) 459.66/163.99 isNat(mark(X)) -> isNat(X) 459.66/163.99 isNat(active(X)) -> isNat(X) 459.66/163.99 U31(mark(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, mark(X2)) -> U31(X1, X2) 459.66/163.99 U31(active(X1), X2) -> U31(X1, X2) 459.66/163.99 U31(X1, active(X2)) -> U31(X1, X2) 459.66/163.99 U32(mark(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, mark(X2)) -> U32(X1, X2) 459.66/163.99 U32(active(X1), X2) -> U32(X1, X2) 459.66/163.99 U32(X1, active(X2)) -> U32(X1, X2) 459.66/163.99 U33(mark(X)) -> U33(X) 459.66/163.99 U33(active(X)) -> U33(X) 459.66/163.99 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.66/163.99 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.66/163.99 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.66/164.00 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.66/164.00 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.66/164.00 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.66/164.00 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.66/164.00 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.66/164.00 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.66/164.00 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.66/164.00 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.66/164.00 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.66/164.00 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.66/164.00 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.66/164.00 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.66/164.00 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.66/164.00 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.66/164.00 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.66/164.00 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.66/164.00 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.66/164.00 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.66/164.00 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.66/164.00 U45(mark(X1), X2) -> U45(X1, X2) 459.66/164.00 U45(X1, mark(X2)) -> U45(X1, X2) 459.66/164.00 U45(active(X1), X2) -> U45(X1, X2) 459.66/164.00 U45(X1, active(X2)) -> U45(X1, X2) 459.66/164.00 U46(mark(X)) -> U46(X) 459.66/164.00 U46(active(X)) -> U46(X) 459.66/164.00 isNatIList(mark(X)) -> isNatIList(X) 459.66/164.00 isNatIList(active(X)) -> isNatIList(X) 459.66/164.00 U51(mark(X1), X2) -> U51(X1, X2) 459.66/164.00 U51(X1, mark(X2)) -> U51(X1, X2) 459.66/164.00 U51(active(X1), X2) -> U51(X1, X2) 459.66/164.00 U51(X1, active(X2)) -> U51(X1, X2) 459.66/164.00 U52(mark(X)) -> U52(X) 459.66/164.00 U52(active(X)) -> U52(X) 459.66/164.00 U61(mark(X)) -> U61(X) 459.66/164.00 U61(active(X)) -> U61(X) 459.66/164.00 U71(mark(X)) -> U71(X) 459.66/164.00 U71(active(X)) -> U71(X) 459.66/164.00 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.66/164.00 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.66/164.00 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.66/164.00 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.66/164.00 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.66/164.00 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.66/164.00 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.66/164.00 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.66/164.00 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.66/164.00 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.66/164.00 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.66/164.00 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.66/164.00 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.66/164.00 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.66/164.00 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.66/164.00 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.66/164.00 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.66/164.00 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.66/164.00 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.66/164.00 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.66/164.00 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.66/164.00 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.66/164.00 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.66/164.00 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.66/164.00 U85(mark(X1), X2) -> U85(X1, X2) 459.66/164.00 U85(X1, mark(X2)) -> U85(X1, X2) 459.66/164.00 U85(active(X1), X2) -> U85(X1, X2) 459.66/164.00 U85(X1, active(X2)) -> U85(X1, X2) 459.66/164.00 U86(mark(X)) -> U86(X) 459.66/164.00 U86(active(X)) -> U86(X) 459.66/164.00 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.66/164.00 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.66/164.00 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.66/164.00 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.66/164.00 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.66/164.00 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.66/164.00 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.66/164.00 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.66/164.00 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.66/164.00 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.66/164.00 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.66/164.00 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.66/164.00 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.66/164.00 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.66/164.00 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.66/164.00 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.66/164.00 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.66/164.00 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.66/164.00 U94(mark(X1), X2) -> U94(X1, X2) 459.66/164.00 U94(X1, mark(X2)) -> U94(X1, X2) 459.66/164.00 U94(active(X1), X2) -> U94(X1, X2) 459.66/164.00 U94(X1, active(X2)) -> U94(X1, X2) 459.66/164.00 s(mark(X)) -> s(X) 459.66/164.00 s(active(X)) -> s(X) 459.66/164.00 length(mark(X)) -> length(X) 459.66/164.00 length(active(X)) -> length(X) 459.66/164.00 459.66/164.00 The set Q consists of the following terms: 459.66/164.00 459.66/164.00 active(zeros) 459.66/164.00 active(U11(tt, x0)) 459.66/164.00 active(U12(tt, x0)) 459.66/164.00 active(U13(tt)) 459.66/164.00 active(U21(tt, x0)) 459.66/164.00 active(U22(tt, x0)) 459.66/164.00 active(U23(tt)) 459.66/164.00 active(U31(tt, x0)) 459.66/164.00 active(U32(tt, x0)) 459.66/164.00 active(U33(tt)) 459.66/164.00 active(U41(tt, x0, x1)) 459.66/164.00 active(U42(tt, x0, x1)) 459.66/164.00 active(U43(tt, x0, x1)) 459.66/164.00 active(U44(tt, x0, x1)) 459.66/164.00 active(U45(tt, x0)) 459.66/164.00 active(U46(tt)) 459.66/164.00 active(U51(tt, x0)) 459.66/164.00 active(U52(tt)) 459.66/164.00 active(U61(tt)) 459.66/164.00 active(U71(tt)) 459.66/164.00 active(U81(tt, x0, x1)) 459.66/164.00 active(U82(tt, x0, x1)) 459.66/164.00 active(U83(tt, x0, x1)) 459.66/164.00 active(U84(tt, x0, x1)) 459.66/164.00 active(U85(tt, x0)) 459.66/164.00 active(U86(tt)) 459.66/164.00 active(U91(tt, x0, x1)) 459.66/164.00 active(U92(tt, x0, x1)) 459.66/164.00 active(U93(tt, x0, x1)) 459.66/164.00 active(U94(tt, x0)) 459.66/164.00 active(isNat(0)) 459.66/164.00 active(isNat(length(x0))) 459.66/164.00 active(isNat(s(x0))) 459.66/164.00 active(isNatIList(x0)) 459.66/164.00 active(isNatIListKind(nil)) 459.66/164.00 active(isNatIListKind(zeros)) 459.66/164.00 active(isNatIListKind(cons(x0, x1))) 459.66/164.00 active(isNatKind(0)) 459.66/164.00 active(isNatKind(length(x0))) 459.66/164.00 active(isNatKind(s(x0))) 459.66/164.00 active(isNatList(nil)) 459.66/164.00 active(isNatList(cons(x0, x1))) 459.66/164.00 active(length(nil)) 459.66/164.00 active(length(cons(x0, x1))) 459.66/164.00 mark(zeros) 459.66/164.00 mark(cons(x0, x1)) 459.66/164.00 mark(0) 459.66/164.00 mark(U11(x0, x1)) 459.66/164.00 mark(tt) 459.66/164.00 mark(U12(x0, x1)) 459.66/164.00 mark(isNatIListKind(x0)) 459.66/164.00 mark(U13(x0)) 459.66/164.00 mark(isNatList(x0)) 459.66/164.00 mark(U21(x0, x1)) 459.66/164.00 mark(U22(x0, x1)) 459.66/164.00 mark(isNatKind(x0)) 459.66/164.00 mark(U23(x0)) 459.66/164.00 mark(isNat(x0)) 459.66/164.00 mark(U31(x0, x1)) 459.66/164.00 mark(U32(x0, x1)) 459.66/164.00 mark(U33(x0)) 459.66/164.00 mark(U41(x0, x1, x2)) 459.66/164.00 mark(U42(x0, x1, x2)) 459.66/164.00 mark(U43(x0, x1, x2)) 459.66/164.00 mark(U44(x0, x1, x2)) 459.66/164.00 mark(U45(x0, x1)) 459.66/164.00 mark(U46(x0)) 459.66/164.00 mark(isNatIList(x0)) 459.66/164.00 mark(U51(x0, x1)) 459.66/164.00 mark(U52(x0)) 459.66/164.00 mark(U61(x0)) 459.66/164.00 mark(U71(x0)) 459.66/164.00 mark(U81(x0, x1, x2)) 459.66/164.00 mark(U82(x0, x1, x2)) 459.66/164.00 mark(U83(x0, x1, x2)) 459.66/164.00 mark(U84(x0, x1, x2)) 459.66/164.00 mark(U85(x0, x1)) 459.66/164.00 mark(U86(x0)) 459.66/164.00 mark(U91(x0, x1, x2)) 459.66/164.00 mark(U92(x0, x1, x2)) 459.66/164.00 mark(U93(x0, x1, x2)) 459.66/164.00 mark(U94(x0, x1)) 459.66/164.00 mark(s(x0)) 459.66/164.00 mark(length(x0)) 459.66/164.00 mark(nil) 459.66/164.00 cons(mark(x0), x1) 459.66/164.00 cons(x0, mark(x1)) 459.66/164.00 cons(active(x0), x1) 459.66/164.00 cons(x0, active(x1)) 459.66/164.00 U11(mark(x0), x1) 459.66/164.00 U11(x0, mark(x1)) 459.66/164.00 U11(active(x0), x1) 459.66/164.00 U11(x0, active(x1)) 459.66/164.00 U12(mark(x0), x1) 459.66/164.00 U12(x0, mark(x1)) 459.66/164.00 U12(active(x0), x1) 459.66/164.00 U12(x0, active(x1)) 459.66/164.00 isNatIListKind(mark(x0)) 459.66/164.00 isNatIListKind(active(x0)) 459.66/164.00 U13(mark(x0)) 459.66/164.00 U13(active(x0)) 459.66/164.00 isNatList(mark(x0)) 459.66/164.00 isNatList(active(x0)) 459.66/164.00 U21(mark(x0), x1) 459.66/164.00 U21(x0, mark(x1)) 459.66/164.00 U21(active(x0), x1) 459.66/164.00 U21(x0, active(x1)) 459.66/164.00 U22(mark(x0), x1) 459.66/164.00 U22(x0, mark(x1)) 459.66/164.00 U22(active(x0), x1) 459.66/164.00 U22(x0, active(x1)) 459.66/164.00 isNatKind(mark(x0)) 459.66/164.00 isNatKind(active(x0)) 459.66/164.00 U23(mark(x0)) 459.66/164.00 U23(active(x0)) 459.66/164.00 isNat(mark(x0)) 459.66/164.00 isNat(active(x0)) 459.66/164.00 U31(mark(x0), x1) 459.66/164.00 U31(x0, mark(x1)) 459.66/164.00 U31(active(x0), x1) 459.66/164.00 U31(x0, active(x1)) 459.66/164.00 U32(mark(x0), x1) 459.66/164.00 U32(x0, mark(x1)) 459.66/164.00 U32(active(x0), x1) 459.66/164.00 U32(x0, active(x1)) 459.66/164.00 U33(mark(x0)) 459.66/164.00 U33(active(x0)) 459.66/164.00 U41(mark(x0), x1, x2) 459.66/164.00 U41(x0, mark(x1), x2) 459.66/164.00 U41(x0, x1, mark(x2)) 459.66/164.00 U41(active(x0), x1, x2) 459.66/164.00 U41(x0, active(x1), x2) 459.66/164.00 U41(x0, x1, active(x2)) 459.66/164.00 U42(mark(x0), x1, x2) 459.66/164.00 U42(x0, mark(x1), x2) 459.66/164.00 U42(x0, x1, mark(x2)) 459.66/164.00 U42(active(x0), x1, x2) 459.66/164.00 U42(x0, active(x1), x2) 459.66/164.00 U42(x0, x1, active(x2)) 459.66/164.00 U43(mark(x0), x1, x2) 459.66/164.00 U43(x0, mark(x1), x2) 459.66/164.00 U43(x0, x1, mark(x2)) 459.66/164.00 U43(active(x0), x1, x2) 459.66/164.00 U43(x0, active(x1), x2) 459.66/164.00 U43(x0, x1, active(x2)) 459.66/164.00 U44(mark(x0), x1, x2) 459.66/164.00 U44(x0, mark(x1), x2) 459.66/164.00 U44(x0, x1, mark(x2)) 459.66/164.00 U44(active(x0), x1, x2) 459.66/164.00 U44(x0, active(x1), x2) 459.66/164.00 U44(x0, x1, active(x2)) 459.66/164.00 U45(mark(x0), x1) 459.66/164.00 U45(x0, mark(x1)) 459.66/164.00 U45(active(x0), x1) 459.66/164.00 U45(x0, active(x1)) 459.66/164.00 U46(mark(x0)) 459.66/164.00 U46(active(x0)) 459.66/164.00 isNatIList(mark(x0)) 459.66/164.00 isNatIList(active(x0)) 459.66/164.00 U51(mark(x0), x1) 459.66/164.00 U51(x0, mark(x1)) 459.66/164.00 U51(active(x0), x1) 459.66/164.00 U51(x0, active(x1)) 459.66/164.00 U52(mark(x0)) 459.66/164.00 U52(active(x0)) 459.66/164.00 U61(mark(x0)) 459.66/164.00 U61(active(x0)) 459.66/164.00 U71(mark(x0)) 459.66/164.00 U71(active(x0)) 459.66/164.00 U81(mark(x0), x1, x2) 459.66/164.00 U81(x0, mark(x1), x2) 459.66/164.00 U81(x0, x1, mark(x2)) 459.66/164.00 U81(active(x0), x1, x2) 459.66/164.00 U81(x0, active(x1), x2) 459.66/164.00 U81(x0, x1, active(x2)) 459.66/164.00 U82(mark(x0), x1, x2) 459.66/164.00 U82(x0, mark(x1), x2) 459.66/164.00 U82(x0, x1, mark(x2)) 459.66/164.00 U82(active(x0), x1, x2) 459.66/164.00 U82(x0, active(x1), x2) 459.66/164.00 U82(x0, x1, active(x2)) 459.66/164.00 U83(mark(x0), x1, x2) 459.66/164.00 U83(x0, mark(x1), x2) 459.66/164.00 U83(x0, x1, mark(x2)) 459.66/164.00 U83(active(x0), x1, x2) 459.66/164.00 U83(x0, active(x1), x2) 459.66/164.00 U83(x0, x1, active(x2)) 459.66/164.00 U84(mark(x0), x1, x2) 459.66/164.00 U84(x0, mark(x1), x2) 459.66/164.00 U84(x0, x1, mark(x2)) 459.66/164.00 U84(active(x0), x1, x2) 459.66/164.00 U84(x0, active(x1), x2) 459.66/164.00 U84(x0, x1, active(x2)) 459.66/164.00 U85(mark(x0), x1) 459.66/164.00 U85(x0, mark(x1)) 459.66/164.00 U85(active(x0), x1) 459.66/164.00 U85(x0, active(x1)) 459.66/164.00 U86(mark(x0)) 459.66/164.00 U86(active(x0)) 459.66/164.00 U91(mark(x0), x1, x2) 459.66/164.00 U91(x0, mark(x1), x2) 459.66/164.00 U91(x0, x1, mark(x2)) 459.66/164.00 U91(active(x0), x1, x2) 459.66/164.00 U91(x0, active(x1), x2) 459.66/164.00 U91(x0, x1, active(x2)) 459.66/164.00 U92(mark(x0), x1, x2) 459.66/164.00 U92(x0, mark(x1), x2) 459.66/164.00 U92(x0, x1, mark(x2)) 459.66/164.00 U92(active(x0), x1, x2) 459.66/164.00 U92(x0, active(x1), x2) 459.66/164.00 U92(x0, x1, active(x2)) 459.66/164.00 U93(mark(x0), x1, x2) 459.66/164.00 U93(x0, mark(x1), x2) 459.66/164.00 U93(x0, x1, mark(x2)) 459.66/164.00 U93(active(x0), x1, x2) 459.66/164.00 U93(x0, active(x1), x2) 459.66/164.00 U93(x0, x1, active(x2)) 459.66/164.00 U94(mark(x0), x1) 459.66/164.00 U94(x0, mark(x1)) 459.66/164.00 U94(active(x0), x1) 459.66/164.00 U94(x0, active(x1)) 459.66/164.00 s(mark(x0)) 459.66/164.00 s(active(x0)) 459.66/164.00 length(mark(x0)) 459.66/164.00 length(active(x0)) 459.66/164.00 459.66/164.00 We have to consider all minimal (P,Q,R)-chains. 459.66/164.00 ---------------------------------------- 459.66/164.00 459.66/164.00 (55) UsableRulesProof (EQUIVALENT) 459.66/164.00 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. 459.66/164.00 ---------------------------------------- 459.66/164.00 459.66/164.00 (56) 459.66/164.00 Obligation: 459.66/164.00 Q DP problem: 459.66/164.00 The TRS P consists of the following rules: 459.66/164.00 459.66/164.00 U85^1(X1, mark(X2)) -> U85^1(X1, X2) 459.66/164.00 U85^1(mark(X1), X2) -> U85^1(X1, X2) 459.66/164.00 U85^1(active(X1), X2) -> U85^1(X1, X2) 459.66/164.00 U85^1(X1, active(X2)) -> U85^1(X1, X2) 459.66/164.00 459.66/164.00 R is empty. 459.66/164.00 The set Q consists of the following terms: 459.66/164.00 459.66/164.00 active(zeros) 459.66/164.00 active(U11(tt, x0)) 459.66/164.00 active(U12(tt, x0)) 459.66/164.00 active(U13(tt)) 459.66/164.00 active(U21(tt, x0)) 459.66/164.00 active(U22(tt, x0)) 459.66/164.00 active(U23(tt)) 459.66/164.00 active(U31(tt, x0)) 459.66/164.00 active(U32(tt, x0)) 459.66/164.00 active(U33(tt)) 459.66/164.00 active(U41(tt, x0, x1)) 459.66/164.00 active(U42(tt, x0, x1)) 459.66/164.00 active(U43(tt, x0, x1)) 459.66/164.00 active(U44(tt, x0, x1)) 459.66/164.00 active(U45(tt, x0)) 459.66/164.00 active(U46(tt)) 459.66/164.00 active(U51(tt, x0)) 459.66/164.00 active(U52(tt)) 459.66/164.00 active(U61(tt)) 459.66/164.00 active(U71(tt)) 459.66/164.00 active(U81(tt, x0, x1)) 459.66/164.00 active(U82(tt, x0, x1)) 459.66/164.00 active(U83(tt, x0, x1)) 459.66/164.00 active(U84(tt, x0, x1)) 459.66/164.00 active(U85(tt, x0)) 459.66/164.00 active(U86(tt)) 459.66/164.00 active(U91(tt, x0, x1)) 459.66/164.00 active(U92(tt, x0, x1)) 459.66/164.00 active(U93(tt, x0, x1)) 459.66/164.00 active(U94(tt, x0)) 459.66/164.00 active(isNat(0)) 459.66/164.00 active(isNat(length(x0))) 459.66/164.00 active(isNat(s(x0))) 459.66/164.00 active(isNatIList(x0)) 459.66/164.00 active(isNatIListKind(nil)) 459.66/164.00 active(isNatIListKind(zeros)) 459.66/164.00 active(isNatIListKind(cons(x0, x1))) 459.66/164.00 active(isNatKind(0)) 459.66/164.00 active(isNatKind(length(x0))) 459.66/164.00 active(isNatKind(s(x0))) 459.66/164.00 active(isNatList(nil)) 459.66/164.00 active(isNatList(cons(x0, x1))) 459.66/164.00 active(length(nil)) 459.66/164.00 active(length(cons(x0, x1))) 459.66/164.00 mark(zeros) 459.66/164.00 mark(cons(x0, x1)) 459.66/164.00 mark(0) 459.66/164.00 mark(U11(x0, x1)) 459.66/164.00 mark(tt) 459.66/164.00 mark(U12(x0, x1)) 459.66/164.00 mark(isNatIListKind(x0)) 459.66/164.00 mark(U13(x0)) 459.66/164.00 mark(isNatList(x0)) 459.66/164.00 mark(U21(x0, x1)) 459.66/164.00 mark(U22(x0, x1)) 459.66/164.00 mark(isNatKind(x0)) 459.66/164.00 mark(U23(x0)) 459.66/164.00 mark(isNat(x0)) 459.66/164.00 mark(U31(x0, x1)) 459.66/164.00 mark(U32(x0, x1)) 459.66/164.00 mark(U33(x0)) 459.66/164.00 mark(U41(x0, x1, x2)) 459.66/164.00 mark(U42(x0, x1, x2)) 459.66/164.00 mark(U43(x0, x1, x2)) 459.66/164.00 mark(U44(x0, x1, x2)) 459.66/164.00 mark(U45(x0, x1)) 459.66/164.00 mark(U46(x0)) 459.66/164.00 mark(isNatIList(x0)) 459.66/164.00 mark(U51(x0, x1)) 459.66/164.00 mark(U52(x0)) 459.66/164.00 mark(U61(x0)) 459.66/164.00 mark(U71(x0)) 459.66/164.00 mark(U81(x0, x1, x2)) 459.66/164.00 mark(U82(x0, x1, x2)) 459.66/164.00 mark(U83(x0, x1, x2)) 459.66/164.00 mark(U84(x0, x1, x2)) 459.66/164.00 mark(U85(x0, x1)) 459.66/164.00 mark(U86(x0)) 459.66/164.00 mark(U91(x0, x1, x2)) 459.66/164.00 mark(U92(x0, x1, x2)) 459.66/164.00 mark(U93(x0, x1, x2)) 459.66/164.00 mark(U94(x0, x1)) 459.66/164.00 mark(s(x0)) 459.66/164.00 mark(length(x0)) 459.66/164.00 mark(nil) 459.66/164.00 cons(mark(x0), x1) 459.66/164.00 cons(x0, mark(x1)) 459.66/164.00 cons(active(x0), x1) 459.66/164.00 cons(x0, active(x1)) 459.66/164.00 U11(mark(x0), x1) 459.66/164.00 U11(x0, mark(x1)) 459.66/164.00 U11(active(x0), x1) 459.66/164.00 U11(x0, active(x1)) 459.66/164.00 U12(mark(x0), x1) 459.66/164.00 U12(x0, mark(x1)) 459.66/164.00 U12(active(x0), x1) 459.66/164.00 U12(x0, active(x1)) 459.66/164.00 isNatIListKind(mark(x0)) 459.66/164.00 isNatIListKind(active(x0)) 459.66/164.00 U13(mark(x0)) 459.66/164.00 U13(active(x0)) 459.66/164.00 isNatList(mark(x0)) 459.66/164.00 isNatList(active(x0)) 459.66/164.00 U21(mark(x0), x1) 459.66/164.00 U21(x0, mark(x1)) 459.66/164.00 U21(active(x0), x1) 459.66/164.00 U21(x0, active(x1)) 459.66/164.00 U22(mark(x0), x1) 459.66/164.00 U22(x0, mark(x1)) 459.66/164.00 U22(active(x0), x1) 459.66/164.00 U22(x0, active(x1)) 459.66/164.00 isNatKind(mark(x0)) 459.66/164.00 isNatKind(active(x0)) 459.66/164.00 U23(mark(x0)) 459.66/164.00 U23(active(x0)) 459.66/164.00 isNat(mark(x0)) 459.66/164.00 isNat(active(x0)) 459.66/164.00 U31(mark(x0), x1) 459.66/164.00 U31(x0, mark(x1)) 459.66/164.00 U31(active(x0), x1) 459.66/164.00 U31(x0, active(x1)) 459.66/164.00 U32(mark(x0), x1) 459.66/164.00 U32(x0, mark(x1)) 459.66/164.00 U32(active(x0), x1) 459.66/164.00 U32(x0, active(x1)) 459.66/164.00 U33(mark(x0)) 459.66/164.00 U33(active(x0)) 459.66/164.00 U41(mark(x0), x1, x2) 459.66/164.00 U41(x0, mark(x1), x2) 459.66/164.00 U41(x0, x1, mark(x2)) 459.66/164.00 U41(active(x0), x1, x2) 459.66/164.00 U41(x0, active(x1), x2) 459.66/164.00 U41(x0, x1, active(x2)) 459.66/164.00 U42(mark(x0), x1, x2) 459.66/164.00 U42(x0, mark(x1), x2) 459.66/164.00 U42(x0, x1, mark(x2)) 459.66/164.00 U42(active(x0), x1, x2) 459.66/164.00 U42(x0, active(x1), x2) 459.66/164.00 U42(x0, x1, active(x2)) 459.66/164.00 U43(mark(x0), x1, x2) 459.66/164.00 U43(x0, mark(x1), x2) 459.66/164.00 U43(x0, x1, mark(x2)) 459.66/164.00 U43(active(x0), x1, x2) 459.66/164.00 U43(x0, active(x1), x2) 459.66/164.00 U43(x0, x1, active(x2)) 459.66/164.00 U44(mark(x0), x1, x2) 459.66/164.00 U44(x0, mark(x1), x2) 459.66/164.00 U44(x0, x1, mark(x2)) 459.66/164.00 U44(active(x0), x1, x2) 459.66/164.00 U44(x0, active(x1), x2) 459.66/164.00 U44(x0, x1, active(x2)) 459.66/164.00 U45(mark(x0), x1) 459.66/164.00 U45(x0, mark(x1)) 459.66/164.00 U45(active(x0), x1) 459.66/164.00 U45(x0, active(x1)) 459.66/164.00 U46(mark(x0)) 459.66/164.00 U46(active(x0)) 459.66/164.00 isNatIList(mark(x0)) 459.66/164.00 isNatIList(active(x0)) 459.66/164.00 U51(mark(x0), x1) 459.66/164.00 U51(x0, mark(x1)) 459.66/164.00 U51(active(x0), x1) 459.66/164.00 U51(x0, active(x1)) 459.66/164.00 U52(mark(x0)) 459.66/164.00 U52(active(x0)) 459.66/164.00 U61(mark(x0)) 459.66/164.00 U61(active(x0)) 459.66/164.00 U71(mark(x0)) 459.66/164.00 U71(active(x0)) 459.66/164.00 U81(mark(x0), x1, x2) 459.66/164.00 U81(x0, mark(x1), x2) 459.66/164.00 U81(x0, x1, mark(x2)) 459.66/164.00 U81(active(x0), x1, x2) 459.66/164.00 U81(x0, active(x1), x2) 459.66/164.00 U81(x0, x1, active(x2)) 459.66/164.00 U82(mark(x0), x1, x2) 459.66/164.00 U82(x0, mark(x1), x2) 459.66/164.00 U82(x0, x1, mark(x2)) 459.66/164.00 U82(active(x0), x1, x2) 459.66/164.00 U82(x0, active(x1), x2) 459.66/164.00 U82(x0, x1, active(x2)) 459.66/164.00 U83(mark(x0), x1, x2) 459.66/164.00 U83(x0, mark(x1), x2) 459.66/164.00 U83(x0, x1, mark(x2)) 459.66/164.00 U83(active(x0), x1, x2) 459.66/164.00 U83(x0, active(x1), x2) 459.66/164.00 U83(x0, x1, active(x2)) 459.66/164.00 U84(mark(x0), x1, x2) 459.66/164.00 U84(x0, mark(x1), x2) 459.66/164.00 U84(x0, x1, mark(x2)) 459.66/164.00 U84(active(x0), x1, x2) 459.66/164.00 U84(x0, active(x1), x2) 459.66/164.00 U84(x0, x1, active(x2)) 459.66/164.00 U85(mark(x0), x1) 459.66/164.00 U85(x0, mark(x1)) 459.66/164.00 U85(active(x0), x1) 459.66/164.00 U85(x0, active(x1)) 459.66/164.00 U86(mark(x0)) 459.66/164.00 U86(active(x0)) 459.66/164.00 U91(mark(x0), x1, x2) 459.66/164.00 U91(x0, mark(x1), x2) 459.66/164.00 U91(x0, x1, mark(x2)) 459.66/164.00 U91(active(x0), x1, x2) 459.66/164.00 U91(x0, active(x1), x2) 459.66/164.00 U91(x0, x1, active(x2)) 459.66/164.00 U92(mark(x0), x1, x2) 459.66/164.00 U92(x0, mark(x1), x2) 459.66/164.00 U92(x0, x1, mark(x2)) 459.66/164.00 U92(active(x0), x1, x2) 459.66/164.00 U92(x0, active(x1), x2) 459.66/164.00 U92(x0, x1, active(x2)) 459.66/164.00 U93(mark(x0), x1, x2) 459.66/164.00 U93(x0, mark(x1), x2) 459.66/164.00 U93(x0, x1, mark(x2)) 459.66/164.00 U93(active(x0), x1, x2) 459.66/164.00 U93(x0, active(x1), x2) 459.66/164.00 U93(x0, x1, active(x2)) 459.66/164.00 U94(mark(x0), x1) 459.66/164.00 U94(x0, mark(x1)) 459.66/164.00 U94(active(x0), x1) 459.66/164.00 U94(x0, active(x1)) 459.66/164.00 s(mark(x0)) 459.66/164.00 s(active(x0)) 459.66/164.00 length(mark(x0)) 459.66/164.00 length(active(x0)) 459.66/164.00 459.66/164.00 We have to consider all minimal (P,Q,R)-chains. 459.66/164.00 ---------------------------------------- 459.66/164.00 459.66/164.00 (57) QReductionProof (EQUIVALENT) 459.66/164.00 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.66/164.00 459.66/164.00 cons(mark(x0), x1) 459.66/164.00 cons(x0, mark(x1)) 459.66/164.00 cons(active(x0), x1) 459.66/164.00 cons(x0, active(x1)) 459.66/164.00 U11(mark(x0), x1) 459.66/164.00 U11(x0, mark(x1)) 459.66/164.00 U11(active(x0), x1) 459.66/164.00 U11(x0, active(x1)) 459.66/164.00 U12(mark(x0), x1) 459.66/164.00 U12(x0, mark(x1)) 459.66/164.00 U12(active(x0), x1) 459.66/164.00 U12(x0, active(x1)) 459.66/164.00 isNatIListKind(mark(x0)) 459.66/164.00 isNatIListKind(active(x0)) 459.66/164.00 U13(mark(x0)) 459.66/164.00 U13(active(x0)) 459.66/164.00 isNatList(mark(x0)) 459.66/164.00 isNatList(active(x0)) 459.66/164.00 U21(mark(x0), x1) 459.66/164.00 U21(x0, mark(x1)) 459.66/164.00 U21(active(x0), x1) 459.66/164.00 U21(x0, active(x1)) 459.66/164.00 U22(mark(x0), x1) 459.66/164.00 U22(x0, mark(x1)) 459.66/164.00 U22(active(x0), x1) 459.66/164.00 U22(x0, active(x1)) 459.66/164.00 isNatKind(mark(x0)) 459.66/164.00 isNatKind(active(x0)) 459.66/164.00 U23(mark(x0)) 459.66/164.00 U23(active(x0)) 459.66/164.00 isNat(mark(x0)) 459.66/164.00 isNat(active(x0)) 459.66/164.00 U31(mark(x0), x1) 459.66/164.00 U31(x0, mark(x1)) 459.66/164.00 U31(active(x0), x1) 459.66/164.00 U31(x0, active(x1)) 459.66/164.00 U32(mark(x0), x1) 459.66/164.00 U32(x0, mark(x1)) 459.66/164.00 U32(active(x0), x1) 459.66/164.00 U32(x0, active(x1)) 459.66/164.00 U33(mark(x0)) 459.66/164.00 U33(active(x0)) 459.66/164.00 U41(mark(x0), x1, x2) 459.66/164.00 U41(x0, mark(x1), x2) 459.66/164.00 U41(x0, x1, mark(x2)) 459.66/164.00 U41(active(x0), x1, x2) 459.66/164.00 U41(x0, active(x1), x2) 459.66/164.00 U41(x0, x1, active(x2)) 459.66/164.00 U42(mark(x0), x1, x2) 459.66/164.00 U42(x0, mark(x1), x2) 459.66/164.00 U42(x0, x1, mark(x2)) 459.66/164.00 U42(active(x0), x1, x2) 459.66/164.00 U42(x0, active(x1), x2) 459.66/164.00 U42(x0, x1, active(x2)) 459.66/164.00 U43(mark(x0), x1, x2) 459.66/164.00 U43(x0, mark(x1), x2) 459.66/164.00 U43(x0, x1, mark(x2)) 459.66/164.00 U43(active(x0), x1, x2) 459.66/164.00 U43(x0, active(x1), x2) 459.66/164.00 U43(x0, x1, active(x2)) 459.66/164.00 U44(mark(x0), x1, x2) 459.66/164.00 U44(x0, mark(x1), x2) 459.66/164.00 U44(x0, x1, mark(x2)) 459.66/164.00 U44(active(x0), x1, x2) 459.66/164.00 U44(x0, active(x1), x2) 459.66/164.00 U44(x0, x1, active(x2)) 459.66/164.00 U45(mark(x0), x1) 459.66/164.00 U45(x0, mark(x1)) 459.66/164.00 U45(active(x0), x1) 459.66/164.00 U45(x0, active(x1)) 459.66/164.00 U46(mark(x0)) 459.66/164.00 U46(active(x0)) 459.66/164.00 isNatIList(mark(x0)) 459.66/164.00 isNatIList(active(x0)) 459.66/164.00 U51(mark(x0), x1) 459.66/164.00 U51(x0, mark(x1)) 459.66/164.00 U51(active(x0), x1) 459.66/164.00 U51(x0, active(x1)) 459.66/164.00 U52(mark(x0)) 459.66/164.00 U52(active(x0)) 459.66/164.00 U61(mark(x0)) 459.66/164.00 U61(active(x0)) 459.66/164.00 U71(mark(x0)) 459.66/164.00 U71(active(x0)) 459.66/164.00 U81(mark(x0), x1, x2) 459.66/164.00 U81(x0, mark(x1), x2) 459.66/164.00 U81(x0, x1, mark(x2)) 459.66/164.00 U81(active(x0), x1, x2) 459.66/164.00 U81(x0, active(x1), x2) 459.66/164.00 U81(x0, x1, active(x2)) 459.66/164.00 U82(mark(x0), x1, x2) 459.66/164.00 U82(x0, mark(x1), x2) 459.66/164.00 U82(x0, x1, mark(x2)) 459.66/164.00 U82(active(x0), x1, x2) 459.66/164.00 U82(x0, active(x1), x2) 459.66/164.00 U82(x0, x1, active(x2)) 459.66/164.00 U83(mark(x0), x1, x2) 459.66/164.00 U83(x0, mark(x1), x2) 459.66/164.00 U83(x0, x1, mark(x2)) 459.66/164.00 U83(active(x0), x1, x2) 459.66/164.00 U83(x0, active(x1), x2) 459.66/164.00 U83(x0, x1, active(x2)) 459.66/164.00 U84(mark(x0), x1, x2) 459.66/164.00 U84(x0, mark(x1), x2) 459.66/164.00 U84(x0, x1, mark(x2)) 459.66/164.00 U84(active(x0), x1, x2) 459.66/164.00 U84(x0, active(x1), x2) 459.66/164.00 U84(x0, x1, active(x2)) 459.66/164.00 U85(mark(x0), x1) 459.66/164.00 U85(x0, mark(x1)) 459.66/164.00 U85(active(x0), x1) 459.66/164.00 U85(x0, active(x1)) 459.66/164.00 U86(mark(x0)) 459.66/164.00 U86(active(x0)) 459.66/164.00 U91(mark(x0), x1, x2) 459.66/164.00 U91(x0, mark(x1), x2) 459.66/164.00 U91(x0, x1, mark(x2)) 459.66/164.00 U91(active(x0), x1, x2) 459.66/164.00 U91(x0, active(x1), x2) 459.66/164.00 U91(x0, x1, active(x2)) 459.66/164.00 U92(mark(x0), x1, x2) 459.66/164.00 U92(x0, mark(x1), x2) 459.66/164.00 U92(x0, x1, mark(x2)) 459.66/164.00 U92(active(x0), x1, x2) 459.66/164.00 U92(x0, active(x1), x2) 459.66/164.00 U92(x0, x1, active(x2)) 459.66/164.00 U93(mark(x0), x1, x2) 459.66/164.00 U93(x0, mark(x1), x2) 459.66/164.00 U93(x0, x1, mark(x2)) 459.66/164.00 U93(active(x0), x1, x2) 459.66/164.00 U93(x0, active(x1), x2) 459.66/164.00 U93(x0, x1, active(x2)) 459.66/164.00 U94(mark(x0), x1) 459.66/164.00 U94(x0, mark(x1)) 459.66/164.00 U94(active(x0), x1) 459.66/164.00 U94(x0, active(x1)) 459.66/164.00 s(mark(x0)) 459.66/164.00 s(active(x0)) 459.66/164.00 length(mark(x0)) 459.66/164.00 length(active(x0)) 459.66/164.00 459.66/164.00 459.66/164.00 ---------------------------------------- 459.66/164.00 459.66/164.00 (58) 459.66/164.00 Obligation: 459.66/164.00 Q DP problem: 459.66/164.00 The TRS P consists of the following rules: 459.66/164.00 459.66/164.00 U85^1(X1, mark(X2)) -> U85^1(X1, X2) 459.66/164.00 U85^1(mark(X1), X2) -> U85^1(X1, X2) 459.66/164.00 U85^1(active(X1), X2) -> U85^1(X1, X2) 459.66/164.00 U85^1(X1, active(X2)) -> U85^1(X1, X2) 459.66/164.00 459.66/164.00 R is empty. 459.66/164.00 The set Q consists of the following terms: 459.66/164.00 459.66/164.00 active(zeros) 459.66/164.00 active(U11(tt, x0)) 459.66/164.00 active(U12(tt, x0)) 459.66/164.00 active(U13(tt)) 459.66/164.00 active(U21(tt, x0)) 459.66/164.00 active(U22(tt, x0)) 459.66/164.00 active(U23(tt)) 459.66/164.00 active(U31(tt, x0)) 459.66/164.00 active(U32(tt, x0)) 459.66/164.00 active(U33(tt)) 459.66/164.00 active(U41(tt, x0, x1)) 459.66/164.00 active(U42(tt, x0, x1)) 459.66/164.00 active(U43(tt, x0, x1)) 459.66/164.00 active(U44(tt, x0, x1)) 459.66/164.00 active(U45(tt, x0)) 459.66/164.00 active(U46(tt)) 459.66/164.00 active(U51(tt, x0)) 459.66/164.00 active(U52(tt)) 459.66/164.00 active(U61(tt)) 459.66/164.00 active(U71(tt)) 459.66/164.00 active(U81(tt, x0, x1)) 459.66/164.00 active(U82(tt, x0, x1)) 459.66/164.00 active(U83(tt, x0, x1)) 459.66/164.00 active(U84(tt, x0, x1)) 459.66/164.00 active(U85(tt, x0)) 459.66/164.00 active(U86(tt)) 459.66/164.00 active(U91(tt, x0, x1)) 459.66/164.00 active(U92(tt, x0, x1)) 459.66/164.00 active(U93(tt, x0, x1)) 459.66/164.00 active(U94(tt, x0)) 459.66/164.00 active(isNat(0)) 459.66/164.00 active(isNat(length(x0))) 459.66/164.00 active(isNat(s(x0))) 459.66/164.00 active(isNatIList(x0)) 459.66/164.00 active(isNatIListKind(nil)) 459.66/164.00 active(isNatIListKind(zeros)) 459.66/164.00 active(isNatIListKind(cons(x0, x1))) 459.66/164.00 active(isNatKind(0)) 459.66/164.00 active(isNatKind(length(x0))) 459.66/164.00 active(isNatKind(s(x0))) 459.66/164.00 active(isNatList(nil)) 459.66/164.00 active(isNatList(cons(x0, x1))) 459.66/164.00 active(length(nil)) 459.66/164.00 active(length(cons(x0, x1))) 459.66/164.00 mark(zeros) 459.66/164.00 mark(cons(x0, x1)) 459.66/164.00 mark(0) 459.66/164.00 mark(U11(x0, x1)) 459.66/164.00 mark(tt) 459.66/164.00 mark(U12(x0, x1)) 459.66/164.00 mark(isNatIListKind(x0)) 459.66/164.00 mark(U13(x0)) 459.66/164.00 mark(isNatList(x0)) 459.66/164.00 mark(U21(x0, x1)) 459.66/164.00 mark(U22(x0, x1)) 459.66/164.00 mark(isNatKind(x0)) 459.66/164.00 mark(U23(x0)) 459.66/164.00 mark(isNat(x0)) 459.66/164.00 mark(U31(x0, x1)) 459.66/164.00 mark(U32(x0, x1)) 459.66/164.00 mark(U33(x0)) 459.66/164.00 mark(U41(x0, x1, x2)) 459.66/164.00 mark(U42(x0, x1, x2)) 459.66/164.00 mark(U43(x0, x1, x2)) 459.66/164.00 mark(U44(x0, x1, x2)) 459.66/164.00 mark(U45(x0, x1)) 459.66/164.00 mark(U46(x0)) 459.66/164.00 mark(isNatIList(x0)) 459.66/164.00 mark(U51(x0, x1)) 459.66/164.00 mark(U52(x0)) 459.66/164.00 mark(U61(x0)) 459.66/164.00 mark(U71(x0)) 459.66/164.00 mark(U81(x0, x1, x2)) 459.66/164.00 mark(U82(x0, x1, x2)) 459.66/164.00 mark(U83(x0, x1, x2)) 459.66/164.00 mark(U84(x0, x1, x2)) 459.66/164.00 mark(U85(x0, x1)) 459.66/164.00 mark(U86(x0)) 459.66/164.00 mark(U91(x0, x1, x2)) 459.66/164.00 mark(U92(x0, x1, x2)) 459.66/164.00 mark(U93(x0, x1, x2)) 459.66/164.00 mark(U94(x0, x1)) 459.66/164.00 mark(s(x0)) 459.66/164.00 mark(length(x0)) 459.66/164.00 mark(nil) 459.66/164.00 459.66/164.00 We have to consider all minimal (P,Q,R)-chains. 459.66/164.00 ---------------------------------------- 459.66/164.00 459.66/164.00 (59) QDPSizeChangeProof (EQUIVALENT) 459.66/164.00 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. 459.66/164.00 459.66/164.00 From the DPs we obtained the following set of size-change graphs: 459.66/164.00 *U85^1(X1, mark(X2)) -> U85^1(X1, X2) 459.66/164.00 The graph contains the following edges 1 >= 1, 2 > 2 459.66/164.00 459.66/164.00 459.66/164.00 *U85^1(mark(X1), X2) -> U85^1(X1, X2) 459.66/164.00 The graph contains the following edges 1 > 1, 2 >= 2 459.66/164.00 459.66/164.00 459.66/164.00 *U85^1(active(X1), X2) -> U85^1(X1, X2) 459.66/164.00 The graph contains the following edges 1 > 1, 2 >= 2 459.66/164.00 459.66/164.00 459.66/164.00 *U85^1(X1, active(X2)) -> U85^1(X1, X2) 459.66/164.00 The graph contains the following edges 1 >= 1, 2 > 2 459.86/164.00 459.86/164.00 459.86/164.00 ---------------------------------------- 459.86/164.00 459.86/164.00 (60) 459.86/164.00 YES 459.86/164.00 459.86/164.00 ---------------------------------------- 459.86/164.00 459.86/164.00 (61) 459.86/164.00 Obligation: 459.86/164.00 Q DP problem: 459.86/164.00 The TRS P consists of the following rules: 459.86/164.00 459.86/164.00 U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) 459.86/164.00 459.86/164.00 The TRS R consists of the following rules: 459.86/164.00 459.86/164.00 active(zeros) -> mark(cons(0, zeros)) 459.86/164.00 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.00 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.00 active(U13(tt)) -> mark(tt) 459.86/164.00 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.00 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.00 active(U23(tt)) -> mark(tt) 459.86/164.00 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.00 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.00 active(U33(tt)) -> mark(tt) 459.86/164.00 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.00 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.00 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.00 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.00 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.00 active(U46(tt)) -> mark(tt) 459.86/164.00 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.00 active(U52(tt)) -> mark(tt) 459.86/164.00 active(U61(tt)) -> mark(tt) 459.86/164.00 active(U71(tt)) -> mark(tt) 459.86/164.00 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.00 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.00 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.00 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.00 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.00 active(U86(tt)) -> mark(tt) 459.86/164.00 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.00 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.00 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.00 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.00 active(isNat(0)) -> mark(tt) 459.86/164.00 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.00 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.00 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.00 active(isNatIList(zeros)) -> mark(tt) 459.86/164.00 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.00 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.00 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.00 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.00 active(isNatKind(0)) -> mark(tt) 459.86/164.00 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.00 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.00 active(isNatList(nil)) -> mark(tt) 459.86/164.00 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.00 active(length(nil)) -> mark(0) 459.86/164.00 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.00 mark(zeros) -> active(zeros) 459.86/164.00 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.00 mark(0) -> active(0) 459.86/164.00 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.00 mark(tt) -> active(tt) 459.86/164.00 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.00 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.00 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.00 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.00 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.00 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.00 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.00 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.00 mark(isNat(X)) -> active(isNat(X)) 459.86/164.00 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.00 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.00 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.00 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.00 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.00 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.00 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.00 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.00 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.00 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.00 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.00 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.00 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.00 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.00 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.00 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.00 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.00 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.00 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.00 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.00 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.00 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.00 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.00 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.00 mark(s(X)) -> active(s(mark(X))) 459.86/164.00 mark(length(X)) -> active(length(mark(X))) 459.86/164.00 mark(nil) -> active(nil) 459.86/164.00 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.00 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.00 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.00 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.00 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.00 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.00 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.00 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.00 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.00 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.00 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.00 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.00 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.00 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.00 U13(mark(X)) -> U13(X) 459.86/164.00 U13(active(X)) -> U13(X) 459.86/164.00 isNatList(mark(X)) -> isNatList(X) 459.86/164.00 isNatList(active(X)) -> isNatList(X) 459.86/164.00 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.00 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.00 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.00 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.00 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.00 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.00 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.00 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.00 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.00 isNatKind(active(X)) -> isNatKind(X) 459.86/164.00 U23(mark(X)) -> U23(X) 459.86/164.00 U23(active(X)) -> U23(X) 459.86/164.00 isNat(mark(X)) -> isNat(X) 459.86/164.00 isNat(active(X)) -> isNat(X) 459.86/164.00 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.00 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.00 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.00 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.00 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.00 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.00 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.00 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.00 U33(mark(X)) -> U33(X) 459.86/164.00 U33(active(X)) -> U33(X) 459.86/164.00 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.00 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.00 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.00 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.00 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.00 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.00 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.00 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.00 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.00 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.00 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.00 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.00 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.00 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.00 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.00 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.00 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.00 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.00 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.00 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.00 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.00 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.00 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.00 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.00 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.00 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.00 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.00 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.00 U46(mark(X)) -> U46(X) 459.86/164.00 U46(active(X)) -> U46(X) 459.86/164.00 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.00 isNatIList(active(X)) -> isNatIList(X) 459.86/164.00 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.00 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.00 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.00 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.00 U52(mark(X)) -> U52(X) 459.86/164.00 U52(active(X)) -> U52(X) 459.86/164.00 U61(mark(X)) -> U61(X) 459.86/164.00 U61(active(X)) -> U61(X) 459.86/164.00 U71(mark(X)) -> U71(X) 459.86/164.00 U71(active(X)) -> U71(X) 459.86/164.00 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.00 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.00 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.00 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.00 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.00 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.00 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.00 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.00 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.00 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.00 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.00 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.00 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.00 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.00 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.00 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.00 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.00 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.00 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.00 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.00 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.00 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.00 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.00 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.00 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.00 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.00 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.00 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.00 U86(mark(X)) -> U86(X) 459.86/164.00 U86(active(X)) -> U86(X) 459.86/164.00 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.00 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.00 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.00 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.00 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.00 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.00 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.00 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.00 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.00 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.00 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.00 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.00 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.00 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.00 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.00 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.00 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.00 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.00 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.00 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.00 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.00 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.00 s(mark(X)) -> s(X) 459.86/164.00 s(active(X)) -> s(X) 459.86/164.00 length(mark(X)) -> length(X) 459.86/164.00 length(active(X)) -> length(X) 459.86/164.00 459.86/164.00 The set Q consists of the following terms: 459.86/164.00 459.86/164.00 active(zeros) 459.86/164.00 active(U11(tt, x0)) 459.86/164.00 active(U12(tt, x0)) 459.86/164.00 active(U13(tt)) 459.86/164.00 active(U21(tt, x0)) 459.86/164.00 active(U22(tt, x0)) 459.86/164.00 active(U23(tt)) 459.86/164.00 active(U31(tt, x0)) 459.86/164.00 active(U32(tt, x0)) 459.86/164.00 active(U33(tt)) 459.86/164.00 active(U41(tt, x0, x1)) 459.86/164.00 active(U42(tt, x0, x1)) 459.86/164.00 active(U43(tt, x0, x1)) 459.86/164.00 active(U44(tt, x0, x1)) 459.86/164.00 active(U45(tt, x0)) 459.86/164.00 active(U46(tt)) 459.86/164.00 active(U51(tt, x0)) 459.86/164.00 active(U52(tt)) 459.86/164.00 active(U61(tt)) 459.86/164.00 active(U71(tt)) 459.86/164.00 active(U81(tt, x0, x1)) 459.86/164.00 active(U82(tt, x0, x1)) 459.86/164.00 active(U83(tt, x0, x1)) 459.86/164.00 active(U84(tt, x0, x1)) 459.86/164.00 active(U85(tt, x0)) 459.86/164.00 active(U86(tt)) 459.86/164.00 active(U91(tt, x0, x1)) 459.86/164.00 active(U92(tt, x0, x1)) 459.86/164.00 active(U93(tt, x0, x1)) 459.86/164.00 active(U94(tt, x0)) 459.86/164.00 active(isNat(0)) 459.86/164.00 active(isNat(length(x0))) 459.86/164.00 active(isNat(s(x0))) 459.86/164.00 active(isNatIList(x0)) 459.86/164.00 active(isNatIListKind(nil)) 459.86/164.00 active(isNatIListKind(zeros)) 459.86/164.00 active(isNatIListKind(cons(x0, x1))) 459.86/164.00 active(isNatKind(0)) 459.86/164.00 active(isNatKind(length(x0))) 459.86/164.00 active(isNatKind(s(x0))) 459.86/164.00 active(isNatList(nil)) 459.86/164.00 active(isNatList(cons(x0, x1))) 459.86/164.00 active(length(nil)) 459.86/164.00 active(length(cons(x0, x1))) 459.86/164.00 mark(zeros) 459.86/164.00 mark(cons(x0, x1)) 459.86/164.00 mark(0) 459.86/164.00 mark(U11(x0, x1)) 459.86/164.00 mark(tt) 459.86/164.00 mark(U12(x0, x1)) 459.86/164.00 mark(isNatIListKind(x0)) 459.86/164.00 mark(U13(x0)) 459.86/164.00 mark(isNatList(x0)) 459.86/164.00 mark(U21(x0, x1)) 459.86/164.00 mark(U22(x0, x1)) 459.86/164.00 mark(isNatKind(x0)) 459.86/164.00 mark(U23(x0)) 459.86/164.00 mark(isNat(x0)) 459.86/164.00 mark(U31(x0, x1)) 459.86/164.00 mark(U32(x0, x1)) 459.86/164.00 mark(U33(x0)) 459.86/164.00 mark(U41(x0, x1, x2)) 459.86/164.00 mark(U42(x0, x1, x2)) 459.86/164.00 mark(U43(x0, x1, x2)) 459.86/164.00 mark(U44(x0, x1, x2)) 459.86/164.00 mark(U45(x0, x1)) 459.86/164.00 mark(U46(x0)) 459.86/164.00 mark(isNatIList(x0)) 459.86/164.00 mark(U51(x0, x1)) 459.86/164.00 mark(U52(x0)) 459.86/164.00 mark(U61(x0)) 459.86/164.00 mark(U71(x0)) 459.86/164.00 mark(U81(x0, x1, x2)) 459.86/164.00 mark(U82(x0, x1, x2)) 459.86/164.00 mark(U83(x0, x1, x2)) 459.86/164.00 mark(U84(x0, x1, x2)) 459.86/164.00 mark(U85(x0, x1)) 459.86/164.00 mark(U86(x0)) 459.86/164.00 mark(U91(x0, x1, x2)) 459.86/164.00 mark(U92(x0, x1, x2)) 459.86/164.00 mark(U93(x0, x1, x2)) 459.86/164.00 mark(U94(x0, x1)) 459.86/164.00 mark(s(x0)) 459.86/164.00 mark(length(x0)) 459.86/164.00 mark(nil) 459.86/164.00 cons(mark(x0), x1) 459.86/164.00 cons(x0, mark(x1)) 459.86/164.00 cons(active(x0), x1) 459.86/164.00 cons(x0, active(x1)) 459.86/164.00 U11(mark(x0), x1) 459.86/164.00 U11(x0, mark(x1)) 459.86/164.00 U11(active(x0), x1) 459.86/164.00 U11(x0, active(x1)) 459.86/164.00 U12(mark(x0), x1) 459.86/164.00 U12(x0, mark(x1)) 459.86/164.00 U12(active(x0), x1) 459.86/164.00 U12(x0, active(x1)) 459.86/164.00 isNatIListKind(mark(x0)) 459.86/164.00 isNatIListKind(active(x0)) 459.86/164.00 U13(mark(x0)) 459.86/164.00 U13(active(x0)) 459.86/164.00 isNatList(mark(x0)) 459.86/164.00 isNatList(active(x0)) 459.86/164.00 U21(mark(x0), x1) 459.86/164.00 U21(x0, mark(x1)) 459.86/164.00 U21(active(x0), x1) 459.86/164.00 U21(x0, active(x1)) 459.86/164.00 U22(mark(x0), x1) 459.86/164.00 U22(x0, mark(x1)) 459.86/164.00 U22(active(x0), x1) 459.86/164.00 U22(x0, active(x1)) 459.86/164.00 isNatKind(mark(x0)) 459.86/164.00 isNatKind(active(x0)) 459.86/164.00 U23(mark(x0)) 459.86/164.00 U23(active(x0)) 459.86/164.00 isNat(mark(x0)) 459.86/164.00 isNat(active(x0)) 459.86/164.00 U31(mark(x0), x1) 459.86/164.00 U31(x0, mark(x1)) 459.86/164.00 U31(active(x0), x1) 459.86/164.00 U31(x0, active(x1)) 459.86/164.00 U32(mark(x0), x1) 459.86/164.00 U32(x0, mark(x1)) 459.86/164.00 U32(active(x0), x1) 459.86/164.00 U32(x0, active(x1)) 459.86/164.00 U33(mark(x0)) 459.86/164.00 U33(active(x0)) 459.86/164.00 U41(mark(x0), x1, x2) 459.86/164.00 U41(x0, mark(x1), x2) 459.86/164.00 U41(x0, x1, mark(x2)) 459.86/164.00 U41(active(x0), x1, x2) 459.86/164.00 U41(x0, active(x1), x2) 459.86/164.00 U41(x0, x1, active(x2)) 459.86/164.00 U42(mark(x0), x1, x2) 459.86/164.00 U42(x0, mark(x1), x2) 459.86/164.00 U42(x0, x1, mark(x2)) 459.86/164.00 U42(active(x0), x1, x2) 459.86/164.00 U42(x0, active(x1), x2) 459.86/164.00 U42(x0, x1, active(x2)) 459.86/164.00 U43(mark(x0), x1, x2) 459.86/164.00 U43(x0, mark(x1), x2) 459.86/164.00 U43(x0, x1, mark(x2)) 459.86/164.00 U43(active(x0), x1, x2) 459.86/164.00 U43(x0, active(x1), x2) 459.86/164.00 U43(x0, x1, active(x2)) 459.86/164.00 U44(mark(x0), x1, x2) 459.86/164.00 U44(x0, mark(x1), x2) 459.86/164.00 U44(x0, x1, mark(x2)) 459.86/164.00 U44(active(x0), x1, x2) 459.86/164.00 U44(x0, active(x1), x2) 459.86/164.00 U44(x0, x1, active(x2)) 459.86/164.00 U45(mark(x0), x1) 459.86/164.00 U45(x0, mark(x1)) 459.86/164.00 U45(active(x0), x1) 459.86/164.00 U45(x0, active(x1)) 459.86/164.00 U46(mark(x0)) 459.86/164.00 U46(active(x0)) 459.86/164.00 isNatIList(mark(x0)) 459.86/164.00 isNatIList(active(x0)) 459.86/164.00 U51(mark(x0), x1) 459.86/164.00 U51(x0, mark(x1)) 459.86/164.00 U51(active(x0), x1) 459.86/164.00 U51(x0, active(x1)) 459.86/164.00 U52(mark(x0)) 459.86/164.00 U52(active(x0)) 459.86/164.00 U61(mark(x0)) 459.86/164.00 U61(active(x0)) 459.86/164.00 U71(mark(x0)) 459.86/164.00 U71(active(x0)) 459.86/164.00 U81(mark(x0), x1, x2) 459.86/164.00 U81(x0, mark(x1), x2) 459.86/164.00 U81(x0, x1, mark(x2)) 459.86/164.00 U81(active(x0), x1, x2) 459.86/164.00 U81(x0, active(x1), x2) 459.86/164.00 U81(x0, x1, active(x2)) 459.86/164.00 U82(mark(x0), x1, x2) 459.86/164.00 U82(x0, mark(x1), x2) 459.86/164.00 U82(x0, x1, mark(x2)) 459.86/164.00 U82(active(x0), x1, x2) 459.86/164.00 U82(x0, active(x1), x2) 459.86/164.00 U82(x0, x1, active(x2)) 459.86/164.00 U83(mark(x0), x1, x2) 459.86/164.00 U83(x0, mark(x1), x2) 459.86/164.00 U83(x0, x1, mark(x2)) 459.86/164.00 U83(active(x0), x1, x2) 459.86/164.00 U83(x0, active(x1), x2) 459.86/164.00 U83(x0, x1, active(x2)) 459.86/164.00 U84(mark(x0), x1, x2) 459.86/164.00 U84(x0, mark(x1), x2) 459.86/164.00 U84(x0, x1, mark(x2)) 459.86/164.00 U84(active(x0), x1, x2) 459.86/164.00 U84(x0, active(x1), x2) 459.86/164.00 U84(x0, x1, active(x2)) 459.86/164.00 U85(mark(x0), x1) 459.86/164.00 U85(x0, mark(x1)) 459.86/164.00 U85(active(x0), x1) 459.86/164.00 U85(x0, active(x1)) 459.86/164.00 U86(mark(x0)) 459.86/164.00 U86(active(x0)) 459.86/164.00 U91(mark(x0), x1, x2) 459.86/164.00 U91(x0, mark(x1), x2) 459.86/164.00 U91(x0, x1, mark(x2)) 459.86/164.00 U91(active(x0), x1, x2) 459.86/164.00 U91(x0, active(x1), x2) 459.86/164.00 U91(x0, x1, active(x2)) 459.86/164.00 U92(mark(x0), x1, x2) 459.86/164.00 U92(x0, mark(x1), x2) 459.86/164.00 U92(x0, x1, mark(x2)) 459.86/164.00 U92(active(x0), x1, x2) 459.86/164.00 U92(x0, active(x1), x2) 459.86/164.00 U92(x0, x1, active(x2)) 459.86/164.00 U93(mark(x0), x1, x2) 459.86/164.00 U93(x0, mark(x1), x2) 459.86/164.00 U93(x0, x1, mark(x2)) 459.86/164.00 U93(active(x0), x1, x2) 459.86/164.00 U93(x0, active(x1), x2) 459.86/164.00 U93(x0, x1, active(x2)) 459.86/164.00 U94(mark(x0), x1) 459.86/164.00 U94(x0, mark(x1)) 459.86/164.00 U94(active(x0), x1) 459.86/164.00 U94(x0, active(x1)) 459.86/164.00 s(mark(x0)) 459.86/164.00 s(active(x0)) 459.86/164.00 length(mark(x0)) 459.86/164.00 length(active(x0)) 459.86/164.00 459.86/164.00 We have to consider all minimal (P,Q,R)-chains. 459.86/164.00 ---------------------------------------- 459.86/164.00 459.86/164.00 (62) UsableRulesProof (EQUIVALENT) 459.86/164.00 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. 459.86/164.00 ---------------------------------------- 459.86/164.00 459.86/164.00 (63) 459.86/164.00 Obligation: 459.86/164.00 Q DP problem: 459.86/164.00 The TRS P consists of the following rules: 459.86/164.00 459.86/164.00 U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.00 U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) 459.86/164.00 459.86/164.00 R is empty. 459.86/164.00 The set Q consists of the following terms: 459.86/164.00 459.86/164.00 active(zeros) 459.86/164.00 active(U11(tt, x0)) 459.86/164.00 active(U12(tt, x0)) 459.86/164.00 active(U13(tt)) 459.86/164.00 active(U21(tt, x0)) 459.86/164.00 active(U22(tt, x0)) 459.86/164.00 active(U23(tt)) 459.86/164.00 active(U31(tt, x0)) 459.86/164.00 active(U32(tt, x0)) 459.86/164.00 active(U33(tt)) 459.86/164.00 active(U41(tt, x0, x1)) 459.86/164.00 active(U42(tt, x0, x1)) 459.86/164.00 active(U43(tt, x0, x1)) 459.86/164.00 active(U44(tt, x0, x1)) 459.86/164.00 active(U45(tt, x0)) 459.86/164.00 active(U46(tt)) 459.86/164.00 active(U51(tt, x0)) 459.86/164.00 active(U52(tt)) 459.86/164.00 active(U61(tt)) 459.86/164.00 active(U71(tt)) 459.86/164.00 active(U81(tt, x0, x1)) 459.86/164.00 active(U82(tt, x0, x1)) 459.86/164.00 active(U83(tt, x0, x1)) 459.86/164.00 active(U84(tt, x0, x1)) 459.86/164.00 active(U85(tt, x0)) 459.86/164.00 active(U86(tt)) 459.86/164.00 active(U91(tt, x0, x1)) 459.86/164.00 active(U92(tt, x0, x1)) 459.86/164.00 active(U93(tt, x0, x1)) 459.86/164.00 active(U94(tt, x0)) 459.86/164.00 active(isNat(0)) 459.86/164.00 active(isNat(length(x0))) 459.86/164.00 active(isNat(s(x0))) 459.86/164.00 active(isNatIList(x0)) 459.86/164.00 active(isNatIListKind(nil)) 459.86/164.00 active(isNatIListKind(zeros)) 459.86/164.00 active(isNatIListKind(cons(x0, x1))) 459.86/164.00 active(isNatKind(0)) 459.86/164.00 active(isNatKind(length(x0))) 459.86/164.00 active(isNatKind(s(x0))) 459.86/164.00 active(isNatList(nil)) 459.86/164.00 active(isNatList(cons(x0, x1))) 459.86/164.00 active(length(nil)) 459.86/164.00 active(length(cons(x0, x1))) 459.86/164.00 mark(zeros) 459.86/164.00 mark(cons(x0, x1)) 459.86/164.00 mark(0) 459.86/164.00 mark(U11(x0, x1)) 459.86/164.00 mark(tt) 459.86/164.00 mark(U12(x0, x1)) 459.86/164.00 mark(isNatIListKind(x0)) 459.86/164.00 mark(U13(x0)) 459.86/164.00 mark(isNatList(x0)) 459.86/164.00 mark(U21(x0, x1)) 459.86/164.00 mark(U22(x0, x1)) 459.86/164.00 mark(isNatKind(x0)) 459.86/164.00 mark(U23(x0)) 459.86/164.00 mark(isNat(x0)) 459.86/164.00 mark(U31(x0, x1)) 459.86/164.00 mark(U32(x0, x1)) 459.86/164.00 mark(U33(x0)) 459.86/164.00 mark(U41(x0, x1, x2)) 459.86/164.00 mark(U42(x0, x1, x2)) 459.86/164.00 mark(U43(x0, x1, x2)) 459.86/164.00 mark(U44(x0, x1, x2)) 459.86/164.00 mark(U45(x0, x1)) 459.86/164.00 mark(U46(x0)) 459.86/164.00 mark(isNatIList(x0)) 459.86/164.00 mark(U51(x0, x1)) 459.86/164.00 mark(U52(x0)) 459.86/164.00 mark(U61(x0)) 459.86/164.00 mark(U71(x0)) 459.86/164.00 mark(U81(x0, x1, x2)) 459.86/164.00 mark(U82(x0, x1, x2)) 459.86/164.00 mark(U83(x0, x1, x2)) 459.86/164.00 mark(U84(x0, x1, x2)) 459.86/164.00 mark(U85(x0, x1)) 459.86/164.00 mark(U86(x0)) 459.86/164.00 mark(U91(x0, x1, x2)) 459.86/164.00 mark(U92(x0, x1, x2)) 459.86/164.00 mark(U93(x0, x1, x2)) 459.86/164.00 mark(U94(x0, x1)) 459.86/164.00 mark(s(x0)) 459.86/164.00 mark(length(x0)) 459.86/164.00 mark(nil) 459.86/164.00 cons(mark(x0), x1) 459.86/164.00 cons(x0, mark(x1)) 459.86/164.00 cons(active(x0), x1) 459.86/164.01 cons(x0, active(x1)) 459.86/164.01 U11(mark(x0), x1) 459.86/164.01 U11(x0, mark(x1)) 459.86/164.01 U11(active(x0), x1) 459.86/164.01 U11(x0, active(x1)) 459.86/164.01 U12(mark(x0), x1) 459.86/164.01 U12(x0, mark(x1)) 459.86/164.01 U12(active(x0), x1) 459.86/164.01 U12(x0, active(x1)) 459.86/164.01 isNatIListKind(mark(x0)) 459.86/164.01 isNatIListKind(active(x0)) 459.86/164.01 U13(mark(x0)) 459.86/164.01 U13(active(x0)) 459.86/164.01 isNatList(mark(x0)) 459.86/164.01 isNatList(active(x0)) 459.86/164.01 U21(mark(x0), x1) 459.86/164.01 U21(x0, mark(x1)) 459.86/164.01 U21(active(x0), x1) 459.86/164.01 U21(x0, active(x1)) 459.86/164.01 U22(mark(x0), x1) 459.86/164.01 U22(x0, mark(x1)) 459.86/164.01 U22(active(x0), x1) 459.86/164.01 U22(x0, active(x1)) 459.86/164.01 isNatKind(mark(x0)) 459.86/164.01 isNatKind(active(x0)) 459.86/164.01 U23(mark(x0)) 459.86/164.01 U23(active(x0)) 459.86/164.01 isNat(mark(x0)) 459.86/164.01 isNat(active(x0)) 459.86/164.01 U31(mark(x0), x1) 459.86/164.01 U31(x0, mark(x1)) 459.86/164.01 U31(active(x0), x1) 459.86/164.01 U31(x0, active(x1)) 459.86/164.01 U32(mark(x0), x1) 459.86/164.01 U32(x0, mark(x1)) 459.86/164.01 U32(active(x0), x1) 459.86/164.01 U32(x0, active(x1)) 459.86/164.01 U33(mark(x0)) 459.86/164.01 U33(active(x0)) 459.86/164.01 U41(mark(x0), x1, x2) 459.86/164.01 U41(x0, mark(x1), x2) 459.86/164.01 U41(x0, x1, mark(x2)) 459.86/164.01 U41(active(x0), x1, x2) 459.86/164.01 U41(x0, active(x1), x2) 459.86/164.01 U41(x0, x1, active(x2)) 459.86/164.01 U42(mark(x0), x1, x2) 459.86/164.01 U42(x0, mark(x1), x2) 459.86/164.01 U42(x0, x1, mark(x2)) 459.86/164.01 U42(active(x0), x1, x2) 459.86/164.01 U42(x0, active(x1), x2) 459.86/164.01 U42(x0, x1, active(x2)) 459.86/164.01 U43(mark(x0), x1, x2) 459.86/164.01 U43(x0, mark(x1), x2) 459.86/164.01 U43(x0, x1, mark(x2)) 459.86/164.01 U43(active(x0), x1, x2) 459.86/164.01 U43(x0, active(x1), x2) 459.86/164.01 U43(x0, x1, active(x2)) 459.86/164.01 U44(mark(x0), x1, x2) 459.86/164.01 U44(x0, mark(x1), x2) 459.86/164.01 U44(x0, x1, mark(x2)) 459.86/164.01 U44(active(x0), x1, x2) 459.86/164.01 U44(x0, active(x1), x2) 459.86/164.01 U44(x0, x1, active(x2)) 459.86/164.01 U45(mark(x0), x1) 459.86/164.01 U45(x0, mark(x1)) 459.86/164.01 U45(active(x0), x1) 459.86/164.01 U45(x0, active(x1)) 459.86/164.01 U46(mark(x0)) 459.86/164.01 U46(active(x0)) 459.86/164.01 isNatIList(mark(x0)) 459.86/164.01 isNatIList(active(x0)) 459.86/164.01 U51(mark(x0), x1) 459.86/164.01 U51(x0, mark(x1)) 459.86/164.01 U51(active(x0), x1) 459.86/164.01 U51(x0, active(x1)) 459.86/164.01 U52(mark(x0)) 459.86/164.01 U52(active(x0)) 459.86/164.01 U61(mark(x0)) 459.86/164.01 U61(active(x0)) 459.86/164.01 U71(mark(x0)) 459.86/164.01 U71(active(x0)) 459.86/164.01 U81(mark(x0), x1, x2) 459.86/164.01 U81(x0, mark(x1), x2) 459.86/164.01 U81(x0, x1, mark(x2)) 459.86/164.01 U81(active(x0), x1, x2) 459.86/164.01 U81(x0, active(x1), x2) 459.86/164.01 U81(x0, x1, active(x2)) 459.86/164.01 U82(mark(x0), x1, x2) 459.86/164.01 U82(x0, mark(x1), x2) 459.86/164.01 U82(x0, x1, mark(x2)) 459.86/164.01 U82(active(x0), x1, x2) 459.86/164.01 U82(x0, active(x1), x2) 459.86/164.01 U82(x0, x1, active(x2)) 459.86/164.01 U83(mark(x0), x1, x2) 459.86/164.01 U83(x0, mark(x1), x2) 459.86/164.01 U83(x0, x1, mark(x2)) 459.86/164.01 U83(active(x0), x1, x2) 459.86/164.01 U83(x0, active(x1), x2) 459.86/164.01 U83(x0, x1, active(x2)) 459.86/164.01 U84(mark(x0), x1, x2) 459.86/164.01 U84(x0, mark(x1), x2) 459.86/164.01 U84(x0, x1, mark(x2)) 459.86/164.01 U84(active(x0), x1, x2) 459.86/164.01 U84(x0, active(x1), x2) 459.86/164.01 U84(x0, x1, active(x2)) 459.86/164.01 U85(mark(x0), x1) 459.86/164.01 U85(x0, mark(x1)) 459.86/164.01 U85(active(x0), x1) 459.86/164.01 U85(x0, active(x1)) 459.86/164.01 U86(mark(x0)) 459.86/164.01 U86(active(x0)) 459.86/164.01 U91(mark(x0), x1, x2) 459.86/164.01 U91(x0, mark(x1), x2) 459.86/164.01 U91(x0, x1, mark(x2)) 459.86/164.01 U91(active(x0), x1, x2) 459.86/164.01 U91(x0, active(x1), x2) 459.86/164.01 U91(x0, x1, active(x2)) 459.86/164.01 U92(mark(x0), x1, x2) 459.86/164.01 U92(x0, mark(x1), x2) 459.86/164.01 U92(x0, x1, mark(x2)) 459.86/164.01 U92(active(x0), x1, x2) 459.86/164.01 U92(x0, active(x1), x2) 459.86/164.01 U92(x0, x1, active(x2)) 459.86/164.01 U93(mark(x0), x1, x2) 459.86/164.01 U93(x0, mark(x1), x2) 459.86/164.01 U93(x0, x1, mark(x2)) 459.86/164.01 U93(active(x0), x1, x2) 459.86/164.01 U93(x0, active(x1), x2) 459.86/164.01 U93(x0, x1, active(x2)) 459.86/164.01 U94(mark(x0), x1) 459.86/164.01 U94(x0, mark(x1)) 459.86/164.01 U94(active(x0), x1) 459.86/164.01 U94(x0, active(x1)) 459.86/164.01 s(mark(x0)) 459.86/164.01 s(active(x0)) 459.86/164.01 length(mark(x0)) 459.86/164.01 length(active(x0)) 459.86/164.01 459.86/164.01 We have to consider all minimal (P,Q,R)-chains. 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (64) QReductionProof (EQUIVALENT) 459.86/164.01 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.86/164.01 459.86/164.01 cons(mark(x0), x1) 459.86/164.01 cons(x0, mark(x1)) 459.86/164.01 cons(active(x0), x1) 459.86/164.01 cons(x0, active(x1)) 459.86/164.01 U11(mark(x0), x1) 459.86/164.01 U11(x0, mark(x1)) 459.86/164.01 U11(active(x0), x1) 459.86/164.01 U11(x0, active(x1)) 459.86/164.01 U12(mark(x0), x1) 459.86/164.01 U12(x0, mark(x1)) 459.86/164.01 U12(active(x0), x1) 459.86/164.01 U12(x0, active(x1)) 459.86/164.01 isNatIListKind(mark(x0)) 459.86/164.01 isNatIListKind(active(x0)) 459.86/164.01 U13(mark(x0)) 459.86/164.01 U13(active(x0)) 459.86/164.01 isNatList(mark(x0)) 459.86/164.01 isNatList(active(x0)) 459.86/164.01 U21(mark(x0), x1) 459.86/164.01 U21(x0, mark(x1)) 459.86/164.01 U21(active(x0), x1) 459.86/164.01 U21(x0, active(x1)) 459.86/164.01 U22(mark(x0), x1) 459.86/164.01 U22(x0, mark(x1)) 459.86/164.01 U22(active(x0), x1) 459.86/164.01 U22(x0, active(x1)) 459.86/164.01 isNatKind(mark(x0)) 459.86/164.01 isNatKind(active(x0)) 459.86/164.01 U23(mark(x0)) 459.86/164.01 U23(active(x0)) 459.86/164.01 isNat(mark(x0)) 459.86/164.01 isNat(active(x0)) 459.86/164.01 U31(mark(x0), x1) 459.86/164.01 U31(x0, mark(x1)) 459.86/164.01 U31(active(x0), x1) 459.86/164.01 U31(x0, active(x1)) 459.86/164.01 U32(mark(x0), x1) 459.86/164.01 U32(x0, mark(x1)) 459.86/164.01 U32(active(x0), x1) 459.86/164.01 U32(x0, active(x1)) 459.86/164.01 U33(mark(x0)) 459.86/164.01 U33(active(x0)) 459.86/164.01 U41(mark(x0), x1, x2) 459.86/164.01 U41(x0, mark(x1), x2) 459.86/164.01 U41(x0, x1, mark(x2)) 459.86/164.01 U41(active(x0), x1, x2) 459.86/164.01 U41(x0, active(x1), x2) 459.86/164.01 U41(x0, x1, active(x2)) 459.86/164.01 U42(mark(x0), x1, x2) 459.86/164.01 U42(x0, mark(x1), x2) 459.86/164.01 U42(x0, x1, mark(x2)) 459.86/164.01 U42(active(x0), x1, x2) 459.86/164.01 U42(x0, active(x1), x2) 459.86/164.01 U42(x0, x1, active(x2)) 459.86/164.01 U43(mark(x0), x1, x2) 459.86/164.01 U43(x0, mark(x1), x2) 459.86/164.01 U43(x0, x1, mark(x2)) 459.86/164.01 U43(active(x0), x1, x2) 459.86/164.01 U43(x0, active(x1), x2) 459.86/164.01 U43(x0, x1, active(x2)) 459.86/164.01 U44(mark(x0), x1, x2) 459.86/164.01 U44(x0, mark(x1), x2) 459.86/164.01 U44(x0, x1, mark(x2)) 459.86/164.01 U44(active(x0), x1, x2) 459.86/164.01 U44(x0, active(x1), x2) 459.86/164.01 U44(x0, x1, active(x2)) 459.86/164.01 U45(mark(x0), x1) 459.86/164.01 U45(x0, mark(x1)) 459.86/164.01 U45(active(x0), x1) 459.86/164.01 U45(x0, active(x1)) 459.86/164.01 U46(mark(x0)) 459.86/164.01 U46(active(x0)) 459.86/164.01 isNatIList(mark(x0)) 459.86/164.01 isNatIList(active(x0)) 459.86/164.01 U51(mark(x0), x1) 459.86/164.01 U51(x0, mark(x1)) 459.86/164.01 U51(active(x0), x1) 459.86/164.01 U51(x0, active(x1)) 459.86/164.01 U52(mark(x0)) 459.86/164.01 U52(active(x0)) 459.86/164.01 U61(mark(x0)) 459.86/164.01 U61(active(x0)) 459.86/164.01 U71(mark(x0)) 459.86/164.01 U71(active(x0)) 459.86/164.01 U81(mark(x0), x1, x2) 459.86/164.01 U81(x0, mark(x1), x2) 459.86/164.01 U81(x0, x1, mark(x2)) 459.86/164.01 U81(active(x0), x1, x2) 459.86/164.01 U81(x0, active(x1), x2) 459.86/164.01 U81(x0, x1, active(x2)) 459.86/164.01 U82(mark(x0), x1, x2) 459.86/164.01 U82(x0, mark(x1), x2) 459.86/164.01 U82(x0, x1, mark(x2)) 459.86/164.01 U82(active(x0), x1, x2) 459.86/164.01 U82(x0, active(x1), x2) 459.86/164.01 U82(x0, x1, active(x2)) 459.86/164.01 U83(mark(x0), x1, x2) 459.86/164.01 U83(x0, mark(x1), x2) 459.86/164.01 U83(x0, x1, mark(x2)) 459.86/164.01 U83(active(x0), x1, x2) 459.86/164.01 U83(x0, active(x1), x2) 459.86/164.01 U83(x0, x1, active(x2)) 459.86/164.01 U84(mark(x0), x1, x2) 459.86/164.01 U84(x0, mark(x1), x2) 459.86/164.01 U84(x0, x1, mark(x2)) 459.86/164.01 U84(active(x0), x1, x2) 459.86/164.01 U84(x0, active(x1), x2) 459.86/164.01 U84(x0, x1, active(x2)) 459.86/164.01 U85(mark(x0), x1) 459.86/164.01 U85(x0, mark(x1)) 459.86/164.01 U85(active(x0), x1) 459.86/164.01 U85(x0, active(x1)) 459.86/164.01 U86(mark(x0)) 459.86/164.01 U86(active(x0)) 459.86/164.01 U91(mark(x0), x1, x2) 459.86/164.01 U91(x0, mark(x1), x2) 459.86/164.01 U91(x0, x1, mark(x2)) 459.86/164.01 U91(active(x0), x1, x2) 459.86/164.01 U91(x0, active(x1), x2) 459.86/164.01 U91(x0, x1, active(x2)) 459.86/164.01 U92(mark(x0), x1, x2) 459.86/164.01 U92(x0, mark(x1), x2) 459.86/164.01 U92(x0, x1, mark(x2)) 459.86/164.01 U92(active(x0), x1, x2) 459.86/164.01 U92(x0, active(x1), x2) 459.86/164.01 U92(x0, x1, active(x2)) 459.86/164.01 U93(mark(x0), x1, x2) 459.86/164.01 U93(x0, mark(x1), x2) 459.86/164.01 U93(x0, x1, mark(x2)) 459.86/164.01 U93(active(x0), x1, x2) 459.86/164.01 U93(x0, active(x1), x2) 459.86/164.01 U93(x0, x1, active(x2)) 459.86/164.01 U94(mark(x0), x1) 459.86/164.01 U94(x0, mark(x1)) 459.86/164.01 U94(active(x0), x1) 459.86/164.01 U94(x0, active(x1)) 459.86/164.01 s(mark(x0)) 459.86/164.01 s(active(x0)) 459.86/164.01 length(mark(x0)) 459.86/164.01 length(active(x0)) 459.86/164.01 459.86/164.01 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (65) 459.86/164.01 Obligation: 459.86/164.01 Q DP problem: 459.86/164.01 The TRS P consists of the following rules: 459.86/164.01 459.86/164.01 U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.01 U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.01 U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) 459.86/164.01 U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.01 U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.01 U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) 459.86/164.01 459.86/164.01 R is empty. 459.86/164.01 The set Q consists of the following terms: 459.86/164.01 459.86/164.01 active(zeros) 459.86/164.01 active(U11(tt, x0)) 459.86/164.01 active(U12(tt, x0)) 459.86/164.01 active(U13(tt)) 459.86/164.01 active(U21(tt, x0)) 459.86/164.01 active(U22(tt, x0)) 459.86/164.01 active(U23(tt)) 459.86/164.01 active(U31(tt, x0)) 459.86/164.01 active(U32(tt, x0)) 459.86/164.01 active(U33(tt)) 459.86/164.01 active(U41(tt, x0, x1)) 459.86/164.01 active(U42(tt, x0, x1)) 459.86/164.01 active(U43(tt, x0, x1)) 459.86/164.01 active(U44(tt, x0, x1)) 459.86/164.01 active(U45(tt, x0)) 459.86/164.01 active(U46(tt)) 459.86/164.01 active(U51(tt, x0)) 459.86/164.01 active(U52(tt)) 459.86/164.01 active(U61(tt)) 459.86/164.01 active(U71(tt)) 459.86/164.01 active(U81(tt, x0, x1)) 459.86/164.01 active(U82(tt, x0, x1)) 459.86/164.01 active(U83(tt, x0, x1)) 459.86/164.01 active(U84(tt, x0, x1)) 459.86/164.01 active(U85(tt, x0)) 459.86/164.01 active(U86(tt)) 459.86/164.01 active(U91(tt, x0, x1)) 459.86/164.01 active(U92(tt, x0, x1)) 459.86/164.01 active(U93(tt, x0, x1)) 459.86/164.01 active(U94(tt, x0)) 459.86/164.01 active(isNat(0)) 459.86/164.01 active(isNat(length(x0))) 459.86/164.01 active(isNat(s(x0))) 459.86/164.01 active(isNatIList(x0)) 459.86/164.01 active(isNatIListKind(nil)) 459.86/164.01 active(isNatIListKind(zeros)) 459.86/164.01 active(isNatIListKind(cons(x0, x1))) 459.86/164.01 active(isNatKind(0)) 459.86/164.01 active(isNatKind(length(x0))) 459.86/164.01 active(isNatKind(s(x0))) 459.86/164.01 active(isNatList(nil)) 459.86/164.01 active(isNatList(cons(x0, x1))) 459.86/164.01 active(length(nil)) 459.86/164.01 active(length(cons(x0, x1))) 459.86/164.01 mark(zeros) 459.86/164.01 mark(cons(x0, x1)) 459.86/164.01 mark(0) 459.86/164.01 mark(U11(x0, x1)) 459.86/164.01 mark(tt) 459.86/164.01 mark(U12(x0, x1)) 459.86/164.01 mark(isNatIListKind(x0)) 459.86/164.01 mark(U13(x0)) 459.86/164.01 mark(isNatList(x0)) 459.86/164.01 mark(U21(x0, x1)) 459.86/164.01 mark(U22(x0, x1)) 459.86/164.01 mark(isNatKind(x0)) 459.86/164.01 mark(U23(x0)) 459.86/164.01 mark(isNat(x0)) 459.86/164.01 mark(U31(x0, x1)) 459.86/164.01 mark(U32(x0, x1)) 459.86/164.01 mark(U33(x0)) 459.86/164.01 mark(U41(x0, x1, x2)) 459.86/164.01 mark(U42(x0, x1, x2)) 459.86/164.01 mark(U43(x0, x1, x2)) 459.86/164.01 mark(U44(x0, x1, x2)) 459.86/164.01 mark(U45(x0, x1)) 459.86/164.01 mark(U46(x0)) 459.86/164.01 mark(isNatIList(x0)) 459.86/164.01 mark(U51(x0, x1)) 459.86/164.01 mark(U52(x0)) 459.86/164.01 mark(U61(x0)) 459.86/164.01 mark(U71(x0)) 459.86/164.01 mark(U81(x0, x1, x2)) 459.86/164.01 mark(U82(x0, x1, x2)) 459.86/164.01 mark(U83(x0, x1, x2)) 459.86/164.01 mark(U84(x0, x1, x2)) 459.86/164.01 mark(U85(x0, x1)) 459.86/164.01 mark(U86(x0)) 459.86/164.01 mark(U91(x0, x1, x2)) 459.86/164.01 mark(U92(x0, x1, x2)) 459.86/164.01 mark(U93(x0, x1, x2)) 459.86/164.01 mark(U94(x0, x1)) 459.86/164.01 mark(s(x0)) 459.86/164.01 mark(length(x0)) 459.86/164.01 mark(nil) 459.86/164.01 459.86/164.01 We have to consider all minimal (P,Q,R)-chains. 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (66) QDPSizeChangeProof (EQUIVALENT) 459.86/164.01 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. 459.86/164.01 459.86/164.01 From the DPs we obtained the following set of size-change graphs: 459.86/164.01 *U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.01 459.86/164.01 459.86/164.01 *U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.01 459.86/164.01 459.86/164.01 *U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.01 459.86/164.01 459.86/164.01 *U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.01 459.86/164.01 459.86/164.01 *U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.01 459.86/164.01 459.86/164.01 *U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) 459.86/164.01 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.01 459.86/164.01 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (67) 459.86/164.01 YES 459.86/164.01 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (68) 459.86/164.01 Obligation: 459.86/164.01 Q DP problem: 459.86/164.01 The TRS P consists of the following rules: 459.86/164.01 459.86/164.01 U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) 459.86/164.01 459.86/164.01 The TRS R consists of the following rules: 459.86/164.01 459.86/164.01 active(zeros) -> mark(cons(0, zeros)) 459.86/164.01 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.01 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.01 active(U13(tt)) -> mark(tt) 459.86/164.01 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.01 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.01 active(U23(tt)) -> mark(tt) 459.86/164.01 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.01 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.01 active(U33(tt)) -> mark(tt) 459.86/164.01 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.01 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.01 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.01 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.01 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.01 active(U46(tt)) -> mark(tt) 459.86/164.01 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.01 active(U52(tt)) -> mark(tt) 459.86/164.01 active(U61(tt)) -> mark(tt) 459.86/164.01 active(U71(tt)) -> mark(tt) 459.86/164.01 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.01 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.01 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.01 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.01 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.01 active(U86(tt)) -> mark(tt) 459.86/164.01 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.01 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.01 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.01 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.01 active(isNat(0)) -> mark(tt) 459.86/164.01 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.01 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.01 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.01 active(isNatIList(zeros)) -> mark(tt) 459.86/164.01 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.01 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.01 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.01 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.01 active(isNatKind(0)) -> mark(tt) 459.86/164.01 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.01 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.01 active(isNatList(nil)) -> mark(tt) 459.86/164.01 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.01 active(length(nil)) -> mark(0) 459.86/164.01 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.01 mark(zeros) -> active(zeros) 459.86/164.01 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.01 mark(0) -> active(0) 459.86/164.01 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.01 mark(tt) -> active(tt) 459.86/164.01 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.01 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.01 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.01 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.01 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.01 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.01 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.01 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.01 mark(isNat(X)) -> active(isNat(X)) 459.86/164.01 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.01 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.01 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.01 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.01 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.01 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.01 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.01 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.01 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.01 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.01 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.01 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.01 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.01 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.01 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.01 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.01 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.01 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.01 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.01 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.01 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.01 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.01 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.01 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.01 mark(s(X)) -> active(s(mark(X))) 459.86/164.01 mark(length(X)) -> active(length(mark(X))) 459.86/164.01 mark(nil) -> active(nil) 459.86/164.01 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.01 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.01 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.01 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.01 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.01 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.01 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.01 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.01 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.01 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.01 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.01 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.01 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.01 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.01 U13(mark(X)) -> U13(X) 459.86/164.01 U13(active(X)) -> U13(X) 459.86/164.01 isNatList(mark(X)) -> isNatList(X) 459.86/164.01 isNatList(active(X)) -> isNatList(X) 459.86/164.01 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.01 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.01 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.01 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.01 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.01 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.01 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.01 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.01 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.01 isNatKind(active(X)) -> isNatKind(X) 459.86/164.01 U23(mark(X)) -> U23(X) 459.86/164.01 U23(active(X)) -> U23(X) 459.86/164.01 isNat(mark(X)) -> isNat(X) 459.86/164.01 isNat(active(X)) -> isNat(X) 459.86/164.01 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.01 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.01 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.01 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.01 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.01 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.01 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.01 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.01 U33(mark(X)) -> U33(X) 459.86/164.01 U33(active(X)) -> U33(X) 459.86/164.01 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.01 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.01 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.01 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.01 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.01 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.01 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.01 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.01 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.01 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.01 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.01 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.01 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.01 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.01 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.01 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.01 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.01 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.01 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.01 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.01 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.01 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.01 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.01 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.01 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.01 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.01 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.01 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.01 U46(mark(X)) -> U46(X) 459.86/164.01 U46(active(X)) -> U46(X) 459.86/164.01 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.01 isNatIList(active(X)) -> isNatIList(X) 459.86/164.01 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.01 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.01 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.01 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.01 U52(mark(X)) -> U52(X) 459.86/164.01 U52(active(X)) -> U52(X) 459.86/164.01 U61(mark(X)) -> U61(X) 459.86/164.01 U61(active(X)) -> U61(X) 459.86/164.01 U71(mark(X)) -> U71(X) 459.86/164.01 U71(active(X)) -> U71(X) 459.86/164.01 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.01 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.01 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.01 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.01 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.01 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.01 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.01 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.01 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.01 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.01 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.01 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.01 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.01 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.01 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.01 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.01 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.01 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.01 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.01 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.01 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.01 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.01 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.01 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.01 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.01 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.01 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.01 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.01 U86(mark(X)) -> U86(X) 459.86/164.01 U86(active(X)) -> U86(X) 459.86/164.01 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.01 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.01 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.01 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.01 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.01 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.01 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.01 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.01 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.01 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.01 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.01 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.01 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.01 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.01 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.01 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.01 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.01 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.01 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.01 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.01 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.01 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.01 s(mark(X)) -> s(X) 459.86/164.01 s(active(X)) -> s(X) 459.86/164.01 length(mark(X)) -> length(X) 459.86/164.01 length(active(X)) -> length(X) 459.86/164.01 459.86/164.01 The set Q consists of the following terms: 459.86/164.01 459.86/164.01 active(zeros) 459.86/164.01 active(U11(tt, x0)) 459.86/164.01 active(U12(tt, x0)) 459.86/164.01 active(U13(tt)) 459.86/164.01 active(U21(tt, x0)) 459.86/164.01 active(U22(tt, x0)) 459.86/164.01 active(U23(tt)) 459.86/164.01 active(U31(tt, x0)) 459.86/164.01 active(U32(tt, x0)) 459.86/164.01 active(U33(tt)) 459.86/164.01 active(U41(tt, x0, x1)) 459.86/164.01 active(U42(tt, x0, x1)) 459.86/164.01 active(U43(tt, x0, x1)) 459.86/164.01 active(U44(tt, x0, x1)) 459.86/164.01 active(U45(tt, x0)) 459.86/164.01 active(U46(tt)) 459.86/164.01 active(U51(tt, x0)) 459.86/164.01 active(U52(tt)) 459.86/164.01 active(U61(tt)) 459.86/164.01 active(U71(tt)) 459.86/164.01 active(U81(tt, x0, x1)) 459.86/164.01 active(U82(tt, x0, x1)) 459.86/164.01 active(U83(tt, x0, x1)) 459.86/164.01 active(U84(tt, x0, x1)) 459.86/164.01 active(U85(tt, x0)) 459.86/164.01 active(U86(tt)) 459.86/164.01 active(U91(tt, x0, x1)) 459.86/164.01 active(U92(tt, x0, x1)) 459.86/164.01 active(U93(tt, x0, x1)) 459.86/164.01 active(U94(tt, x0)) 459.86/164.01 active(isNat(0)) 459.86/164.01 active(isNat(length(x0))) 459.86/164.01 active(isNat(s(x0))) 459.86/164.01 active(isNatIList(x0)) 459.86/164.01 active(isNatIListKind(nil)) 459.86/164.01 active(isNatIListKind(zeros)) 459.86/164.01 active(isNatIListKind(cons(x0, x1))) 459.86/164.01 active(isNatKind(0)) 459.86/164.01 active(isNatKind(length(x0))) 459.86/164.01 active(isNatKind(s(x0))) 459.86/164.01 active(isNatList(nil)) 459.86/164.01 active(isNatList(cons(x0, x1))) 459.86/164.01 active(length(nil)) 459.86/164.01 active(length(cons(x0, x1))) 459.86/164.01 mark(zeros) 459.86/164.01 mark(cons(x0, x1)) 459.86/164.01 mark(0) 459.86/164.01 mark(U11(x0, x1)) 459.86/164.01 mark(tt) 459.86/164.01 mark(U12(x0, x1)) 459.86/164.01 mark(isNatIListKind(x0)) 459.86/164.01 mark(U13(x0)) 459.86/164.01 mark(isNatList(x0)) 459.86/164.01 mark(U21(x0, x1)) 459.86/164.01 mark(U22(x0, x1)) 459.86/164.01 mark(isNatKind(x0)) 459.86/164.01 mark(U23(x0)) 459.86/164.01 mark(isNat(x0)) 459.86/164.01 mark(U31(x0, x1)) 459.86/164.01 mark(U32(x0, x1)) 459.86/164.01 mark(U33(x0)) 459.86/164.01 mark(U41(x0, x1, x2)) 459.86/164.01 mark(U42(x0, x1, x2)) 459.86/164.01 mark(U43(x0, x1, x2)) 459.86/164.01 mark(U44(x0, x1, x2)) 459.86/164.01 mark(U45(x0, x1)) 459.86/164.01 mark(U46(x0)) 459.86/164.01 mark(isNatIList(x0)) 459.86/164.01 mark(U51(x0, x1)) 459.86/164.01 mark(U52(x0)) 459.86/164.01 mark(U61(x0)) 459.86/164.01 mark(U71(x0)) 459.86/164.01 mark(U81(x0, x1, x2)) 459.86/164.01 mark(U82(x0, x1, x2)) 459.86/164.01 mark(U83(x0, x1, x2)) 459.86/164.01 mark(U84(x0, x1, x2)) 459.86/164.01 mark(U85(x0, x1)) 459.86/164.01 mark(U86(x0)) 459.86/164.01 mark(U91(x0, x1, x2)) 459.86/164.01 mark(U92(x0, x1, x2)) 459.86/164.01 mark(U93(x0, x1, x2)) 459.86/164.01 mark(U94(x0, x1)) 459.86/164.01 mark(s(x0)) 459.86/164.01 mark(length(x0)) 459.86/164.01 mark(nil) 459.86/164.01 cons(mark(x0), x1) 459.86/164.01 cons(x0, mark(x1)) 459.86/164.01 cons(active(x0), x1) 459.86/164.01 cons(x0, active(x1)) 459.86/164.01 U11(mark(x0), x1) 459.86/164.01 U11(x0, mark(x1)) 459.86/164.01 U11(active(x0), x1) 459.86/164.01 U11(x0, active(x1)) 459.86/164.01 U12(mark(x0), x1) 459.86/164.01 U12(x0, mark(x1)) 459.86/164.01 U12(active(x0), x1) 459.86/164.01 U12(x0, active(x1)) 459.86/164.01 isNatIListKind(mark(x0)) 459.86/164.01 isNatIListKind(active(x0)) 459.86/164.01 U13(mark(x0)) 459.86/164.01 U13(active(x0)) 459.86/164.01 isNatList(mark(x0)) 459.86/164.01 isNatList(active(x0)) 459.86/164.01 U21(mark(x0), x1) 459.86/164.01 U21(x0, mark(x1)) 459.86/164.01 U21(active(x0), x1) 459.86/164.01 U21(x0, active(x1)) 459.86/164.01 U22(mark(x0), x1) 459.86/164.01 U22(x0, mark(x1)) 459.86/164.01 U22(active(x0), x1) 459.86/164.01 U22(x0, active(x1)) 459.86/164.01 isNatKind(mark(x0)) 459.86/164.01 isNatKind(active(x0)) 459.86/164.01 U23(mark(x0)) 459.86/164.01 U23(active(x0)) 459.86/164.01 isNat(mark(x0)) 459.86/164.01 isNat(active(x0)) 459.86/164.01 U31(mark(x0), x1) 459.86/164.01 U31(x0, mark(x1)) 459.86/164.01 U31(active(x0), x1) 459.86/164.01 U31(x0, active(x1)) 459.86/164.01 U32(mark(x0), x1) 459.86/164.01 U32(x0, mark(x1)) 459.86/164.01 U32(active(x0), x1) 459.86/164.01 U32(x0, active(x1)) 459.86/164.01 U33(mark(x0)) 459.86/164.01 U33(active(x0)) 459.86/164.01 U41(mark(x0), x1, x2) 459.86/164.01 U41(x0, mark(x1), x2) 459.86/164.01 U41(x0, x1, mark(x2)) 459.86/164.01 U41(active(x0), x1, x2) 459.86/164.01 U41(x0, active(x1), x2) 459.86/164.01 U41(x0, x1, active(x2)) 459.86/164.01 U42(mark(x0), x1, x2) 459.86/164.01 U42(x0, mark(x1), x2) 459.86/164.01 U42(x0, x1, mark(x2)) 459.86/164.01 U42(active(x0), x1, x2) 459.86/164.01 U42(x0, active(x1), x2) 459.86/164.01 U42(x0, x1, active(x2)) 459.86/164.01 U43(mark(x0), x1, x2) 459.86/164.01 U43(x0, mark(x1), x2) 459.86/164.01 U43(x0, x1, mark(x2)) 459.86/164.01 U43(active(x0), x1, x2) 459.86/164.01 U43(x0, active(x1), x2) 459.86/164.01 U43(x0, x1, active(x2)) 459.86/164.01 U44(mark(x0), x1, x2) 459.86/164.01 U44(x0, mark(x1), x2) 459.86/164.01 U44(x0, x1, mark(x2)) 459.86/164.01 U44(active(x0), x1, x2) 459.86/164.01 U44(x0, active(x1), x2) 459.86/164.01 U44(x0, x1, active(x2)) 459.86/164.01 U45(mark(x0), x1) 459.86/164.01 U45(x0, mark(x1)) 459.86/164.01 U45(active(x0), x1) 459.86/164.01 U45(x0, active(x1)) 459.86/164.01 U46(mark(x0)) 459.86/164.01 U46(active(x0)) 459.86/164.01 isNatIList(mark(x0)) 459.86/164.01 isNatIList(active(x0)) 459.86/164.01 U51(mark(x0), x1) 459.86/164.01 U51(x0, mark(x1)) 459.86/164.01 U51(active(x0), x1) 459.86/164.01 U51(x0, active(x1)) 459.86/164.01 U52(mark(x0)) 459.86/164.01 U52(active(x0)) 459.86/164.01 U61(mark(x0)) 459.86/164.01 U61(active(x0)) 459.86/164.01 U71(mark(x0)) 459.86/164.01 U71(active(x0)) 459.86/164.01 U81(mark(x0), x1, x2) 459.86/164.01 U81(x0, mark(x1), x2) 459.86/164.01 U81(x0, x1, mark(x2)) 459.86/164.01 U81(active(x0), x1, x2) 459.86/164.01 U81(x0, active(x1), x2) 459.86/164.01 U81(x0, x1, active(x2)) 459.86/164.01 U82(mark(x0), x1, x2) 459.86/164.01 U82(x0, mark(x1), x2) 459.86/164.01 U82(x0, x1, mark(x2)) 459.86/164.01 U82(active(x0), x1, x2) 459.86/164.01 U82(x0, active(x1), x2) 459.86/164.01 U82(x0, x1, active(x2)) 459.86/164.01 U83(mark(x0), x1, x2) 459.86/164.01 U83(x0, mark(x1), x2) 459.86/164.01 U83(x0, x1, mark(x2)) 459.86/164.01 U83(active(x0), x1, x2) 459.86/164.01 U83(x0, active(x1), x2) 459.86/164.01 U83(x0, x1, active(x2)) 459.86/164.01 U84(mark(x0), x1, x2) 459.86/164.01 U84(x0, mark(x1), x2) 459.86/164.01 U84(x0, x1, mark(x2)) 459.86/164.01 U84(active(x0), x1, x2) 459.86/164.01 U84(x0, active(x1), x2) 459.86/164.01 U84(x0, x1, active(x2)) 459.86/164.01 U85(mark(x0), x1) 459.86/164.01 U85(x0, mark(x1)) 459.86/164.01 U85(active(x0), x1) 459.86/164.01 U85(x0, active(x1)) 459.86/164.01 U86(mark(x0)) 459.86/164.01 U86(active(x0)) 459.86/164.01 U91(mark(x0), x1, x2) 459.86/164.01 U91(x0, mark(x1), x2) 459.86/164.01 U91(x0, x1, mark(x2)) 459.86/164.01 U91(active(x0), x1, x2) 459.86/164.01 U91(x0, active(x1), x2) 459.86/164.01 U91(x0, x1, active(x2)) 459.86/164.01 U92(mark(x0), x1, x2) 459.86/164.01 U92(x0, mark(x1), x2) 459.86/164.01 U92(x0, x1, mark(x2)) 459.86/164.01 U92(active(x0), x1, x2) 459.86/164.01 U92(x0, active(x1), x2) 459.86/164.01 U92(x0, x1, active(x2)) 459.86/164.01 U93(mark(x0), x1, x2) 459.86/164.01 U93(x0, mark(x1), x2) 459.86/164.01 U93(x0, x1, mark(x2)) 459.86/164.01 U93(active(x0), x1, x2) 459.86/164.01 U93(x0, active(x1), x2) 459.86/164.01 U93(x0, x1, active(x2)) 459.86/164.01 U94(mark(x0), x1) 459.86/164.01 U94(x0, mark(x1)) 459.86/164.01 U94(active(x0), x1) 459.86/164.01 U94(x0, active(x1)) 459.86/164.01 s(mark(x0)) 459.86/164.01 s(active(x0)) 459.86/164.01 length(mark(x0)) 459.86/164.01 length(active(x0)) 459.86/164.01 459.86/164.01 We have to consider all minimal (P,Q,R)-chains. 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (69) UsableRulesProof (EQUIVALENT) 459.86/164.01 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. 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (70) 459.86/164.01 Obligation: 459.86/164.01 Q DP problem: 459.86/164.01 The TRS P consists of the following rules: 459.86/164.01 459.86/164.01 U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.01 U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) 459.86/164.01 459.86/164.01 R is empty. 459.86/164.01 The set Q consists of the following terms: 459.86/164.01 459.86/164.01 active(zeros) 459.86/164.01 active(U11(tt, x0)) 459.86/164.01 active(U12(tt, x0)) 459.86/164.01 active(U13(tt)) 459.86/164.01 active(U21(tt, x0)) 459.86/164.01 active(U22(tt, x0)) 459.86/164.01 active(U23(tt)) 459.86/164.01 active(U31(tt, x0)) 459.86/164.01 active(U32(tt, x0)) 459.86/164.01 active(U33(tt)) 459.86/164.01 active(U41(tt, x0, x1)) 459.86/164.01 active(U42(tt, x0, x1)) 459.86/164.01 active(U43(tt, x0, x1)) 459.86/164.01 active(U44(tt, x0, x1)) 459.86/164.01 active(U45(tt, x0)) 459.86/164.01 active(U46(tt)) 459.86/164.01 active(U51(tt, x0)) 459.86/164.01 active(U52(tt)) 459.86/164.01 active(U61(tt)) 459.86/164.01 active(U71(tt)) 459.86/164.01 active(U81(tt, x0, x1)) 459.86/164.01 active(U82(tt, x0, x1)) 459.86/164.01 active(U83(tt, x0, x1)) 459.86/164.01 active(U84(tt, x0, x1)) 459.86/164.01 active(U85(tt, x0)) 459.86/164.01 active(U86(tt)) 459.86/164.01 active(U91(tt, x0, x1)) 459.86/164.01 active(U92(tt, x0, x1)) 459.86/164.01 active(U93(tt, x0, x1)) 459.86/164.01 active(U94(tt, x0)) 459.86/164.01 active(isNat(0)) 459.86/164.01 active(isNat(length(x0))) 459.86/164.01 active(isNat(s(x0))) 459.86/164.01 active(isNatIList(x0)) 459.86/164.01 active(isNatIListKind(nil)) 459.86/164.01 active(isNatIListKind(zeros)) 459.86/164.01 active(isNatIListKind(cons(x0, x1))) 459.86/164.01 active(isNatKind(0)) 459.86/164.01 active(isNatKind(length(x0))) 459.86/164.01 active(isNatKind(s(x0))) 459.86/164.01 active(isNatList(nil)) 459.86/164.01 active(isNatList(cons(x0, x1))) 459.86/164.01 active(length(nil)) 459.86/164.01 active(length(cons(x0, x1))) 459.86/164.01 mark(zeros) 459.86/164.01 mark(cons(x0, x1)) 459.86/164.01 mark(0) 459.86/164.01 mark(U11(x0, x1)) 459.86/164.01 mark(tt) 459.86/164.01 mark(U12(x0, x1)) 459.86/164.01 mark(isNatIListKind(x0)) 459.86/164.01 mark(U13(x0)) 459.86/164.01 mark(isNatList(x0)) 459.86/164.01 mark(U21(x0, x1)) 459.86/164.01 mark(U22(x0, x1)) 459.86/164.01 mark(isNatKind(x0)) 459.86/164.01 mark(U23(x0)) 459.86/164.01 mark(isNat(x0)) 459.86/164.01 mark(U31(x0, x1)) 459.86/164.01 mark(U32(x0, x1)) 459.86/164.01 mark(U33(x0)) 459.86/164.01 mark(U41(x0, x1, x2)) 459.86/164.01 mark(U42(x0, x1, x2)) 459.86/164.01 mark(U43(x0, x1, x2)) 459.86/164.01 mark(U44(x0, x1, x2)) 459.86/164.01 mark(U45(x0, x1)) 459.86/164.01 mark(U46(x0)) 459.86/164.01 mark(isNatIList(x0)) 459.86/164.01 mark(U51(x0, x1)) 459.86/164.01 mark(U52(x0)) 459.86/164.01 mark(U61(x0)) 459.86/164.01 mark(U71(x0)) 459.86/164.01 mark(U81(x0, x1, x2)) 459.86/164.01 mark(U82(x0, x1, x2)) 459.86/164.01 mark(U83(x0, x1, x2)) 459.86/164.01 mark(U84(x0, x1, x2)) 459.86/164.01 mark(U85(x0, x1)) 459.86/164.01 mark(U86(x0)) 459.86/164.01 mark(U91(x0, x1, x2)) 459.86/164.01 mark(U92(x0, x1, x2)) 459.86/164.01 mark(U93(x0, x1, x2)) 459.86/164.01 mark(U94(x0, x1)) 459.86/164.01 mark(s(x0)) 459.86/164.01 mark(length(x0)) 459.86/164.01 mark(nil) 459.86/164.01 cons(mark(x0), x1) 459.86/164.01 cons(x0, mark(x1)) 459.86/164.01 cons(active(x0), x1) 459.86/164.01 cons(x0, active(x1)) 459.86/164.01 U11(mark(x0), x1) 459.86/164.01 U11(x0, mark(x1)) 459.86/164.01 U11(active(x0), x1) 459.86/164.01 U11(x0, active(x1)) 459.86/164.01 U12(mark(x0), x1) 459.86/164.01 U12(x0, mark(x1)) 459.86/164.01 U12(active(x0), x1) 459.86/164.01 U12(x0, active(x1)) 459.86/164.01 isNatIListKind(mark(x0)) 459.86/164.01 isNatIListKind(active(x0)) 459.86/164.01 U13(mark(x0)) 459.86/164.01 U13(active(x0)) 459.86/164.01 isNatList(mark(x0)) 459.86/164.01 isNatList(active(x0)) 459.86/164.01 U21(mark(x0), x1) 459.86/164.01 U21(x0, mark(x1)) 459.86/164.01 U21(active(x0), x1) 459.86/164.01 U21(x0, active(x1)) 459.86/164.01 U22(mark(x0), x1) 459.86/164.01 U22(x0, mark(x1)) 459.86/164.01 U22(active(x0), x1) 459.86/164.01 U22(x0, active(x1)) 459.86/164.01 isNatKind(mark(x0)) 459.86/164.01 isNatKind(active(x0)) 459.86/164.01 U23(mark(x0)) 459.86/164.01 U23(active(x0)) 459.86/164.01 isNat(mark(x0)) 459.86/164.01 isNat(active(x0)) 459.86/164.01 U31(mark(x0), x1) 459.86/164.01 U31(x0, mark(x1)) 459.86/164.01 U31(active(x0), x1) 459.86/164.01 U31(x0, active(x1)) 459.86/164.01 U32(mark(x0), x1) 459.86/164.01 U32(x0, mark(x1)) 459.86/164.01 U32(active(x0), x1) 459.86/164.01 U32(x0, active(x1)) 459.86/164.01 U33(mark(x0)) 459.86/164.01 U33(active(x0)) 459.86/164.01 U41(mark(x0), x1, x2) 459.86/164.01 U41(x0, mark(x1), x2) 459.86/164.01 U41(x0, x1, mark(x2)) 459.86/164.01 U41(active(x0), x1, x2) 459.86/164.01 U41(x0, active(x1), x2) 459.86/164.01 U41(x0, x1, active(x2)) 459.86/164.01 U42(mark(x0), x1, x2) 459.86/164.01 U42(x0, mark(x1), x2) 459.86/164.01 U42(x0, x1, mark(x2)) 459.86/164.01 U42(active(x0), x1, x2) 459.86/164.01 U42(x0, active(x1), x2) 459.86/164.01 U42(x0, x1, active(x2)) 459.86/164.01 U43(mark(x0), x1, x2) 459.86/164.01 U43(x0, mark(x1), x2) 459.86/164.01 U43(x0, x1, mark(x2)) 459.86/164.01 U43(active(x0), x1, x2) 459.86/164.01 U43(x0, active(x1), x2) 459.86/164.01 U43(x0, x1, active(x2)) 459.86/164.01 U44(mark(x0), x1, x2) 459.86/164.01 U44(x0, mark(x1), x2) 459.86/164.01 U44(x0, x1, mark(x2)) 459.86/164.01 U44(active(x0), x1, x2) 459.86/164.01 U44(x0, active(x1), x2) 459.86/164.01 U44(x0, x1, active(x2)) 459.86/164.01 U45(mark(x0), x1) 459.86/164.01 U45(x0, mark(x1)) 459.86/164.01 U45(active(x0), x1) 459.86/164.01 U45(x0, active(x1)) 459.86/164.01 U46(mark(x0)) 459.86/164.01 U46(active(x0)) 459.86/164.01 isNatIList(mark(x0)) 459.86/164.01 isNatIList(active(x0)) 459.86/164.01 U51(mark(x0), x1) 459.86/164.01 U51(x0, mark(x1)) 459.86/164.01 U51(active(x0), x1) 459.86/164.01 U51(x0, active(x1)) 459.86/164.01 U52(mark(x0)) 459.86/164.01 U52(active(x0)) 459.86/164.01 U61(mark(x0)) 459.86/164.01 U61(active(x0)) 459.86/164.01 U71(mark(x0)) 459.86/164.01 U71(active(x0)) 459.86/164.01 U81(mark(x0), x1, x2) 459.86/164.01 U81(x0, mark(x1), x2) 459.86/164.01 U81(x0, x1, mark(x2)) 459.86/164.01 U81(active(x0), x1, x2) 459.86/164.01 U81(x0, active(x1), x2) 459.86/164.01 U81(x0, x1, active(x2)) 459.86/164.01 U82(mark(x0), x1, x2) 459.86/164.01 U82(x0, mark(x1), x2) 459.86/164.01 U82(x0, x1, mark(x2)) 459.86/164.01 U82(active(x0), x1, x2) 459.86/164.01 U82(x0, active(x1), x2) 459.86/164.01 U82(x0, x1, active(x2)) 459.86/164.01 U83(mark(x0), x1, x2) 459.86/164.01 U83(x0, mark(x1), x2) 459.86/164.01 U83(x0, x1, mark(x2)) 459.86/164.01 U83(active(x0), x1, x2) 459.86/164.01 U83(x0, active(x1), x2) 459.86/164.01 U83(x0, x1, active(x2)) 459.86/164.01 U84(mark(x0), x1, x2) 459.86/164.01 U84(x0, mark(x1), x2) 459.86/164.01 U84(x0, x1, mark(x2)) 459.86/164.01 U84(active(x0), x1, x2) 459.86/164.01 U84(x0, active(x1), x2) 459.86/164.01 U84(x0, x1, active(x2)) 459.86/164.01 U85(mark(x0), x1) 459.86/164.01 U85(x0, mark(x1)) 459.86/164.01 U85(active(x0), x1) 459.86/164.01 U85(x0, active(x1)) 459.86/164.01 U86(mark(x0)) 459.86/164.01 U86(active(x0)) 459.86/164.01 U91(mark(x0), x1, x2) 459.86/164.01 U91(x0, mark(x1), x2) 459.86/164.01 U91(x0, x1, mark(x2)) 459.86/164.01 U91(active(x0), x1, x2) 459.86/164.01 U91(x0, active(x1), x2) 459.86/164.01 U91(x0, x1, active(x2)) 459.86/164.01 U92(mark(x0), x1, x2) 459.86/164.01 U92(x0, mark(x1), x2) 459.86/164.01 U92(x0, x1, mark(x2)) 459.86/164.01 U92(active(x0), x1, x2) 459.86/164.01 U92(x0, active(x1), x2) 459.86/164.01 U92(x0, x1, active(x2)) 459.86/164.01 U93(mark(x0), x1, x2) 459.86/164.01 U93(x0, mark(x1), x2) 459.86/164.01 U93(x0, x1, mark(x2)) 459.86/164.01 U93(active(x0), x1, x2) 459.86/164.01 U93(x0, active(x1), x2) 459.86/164.01 U93(x0, x1, active(x2)) 459.86/164.01 U94(mark(x0), x1) 459.86/164.01 U94(x0, mark(x1)) 459.86/164.01 U94(active(x0), x1) 459.86/164.01 U94(x0, active(x1)) 459.86/164.01 s(mark(x0)) 459.86/164.01 s(active(x0)) 459.86/164.01 length(mark(x0)) 459.86/164.01 length(active(x0)) 459.86/164.01 459.86/164.01 We have to consider all minimal (P,Q,R)-chains. 459.86/164.01 ---------------------------------------- 459.86/164.01 459.86/164.01 (71) QReductionProof (EQUIVALENT) 459.86/164.01 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.86/164.01 459.86/164.01 cons(mark(x0), x1) 459.86/164.01 cons(x0, mark(x1)) 459.86/164.01 cons(active(x0), x1) 459.86/164.01 cons(x0, active(x1)) 459.86/164.01 U11(mark(x0), x1) 459.86/164.01 U11(x0, mark(x1)) 459.86/164.01 U11(active(x0), x1) 459.86/164.01 U11(x0, active(x1)) 459.86/164.01 U12(mark(x0), x1) 459.86/164.01 U12(x0, mark(x1)) 459.86/164.01 U12(active(x0), x1) 459.86/164.01 U12(x0, active(x1)) 459.86/164.01 isNatIListKind(mark(x0)) 459.86/164.01 isNatIListKind(active(x0)) 459.86/164.01 U13(mark(x0)) 459.86/164.01 U13(active(x0)) 459.86/164.01 isNatList(mark(x0)) 459.86/164.01 isNatList(active(x0)) 459.86/164.01 U21(mark(x0), x1) 459.86/164.01 U21(x0, mark(x1)) 459.86/164.01 U21(active(x0), x1) 459.86/164.01 U21(x0, active(x1)) 459.86/164.01 U22(mark(x0), x1) 459.86/164.01 U22(x0, mark(x1)) 459.86/164.01 U22(active(x0), x1) 459.86/164.01 U22(x0, active(x1)) 459.86/164.01 isNatKind(mark(x0)) 459.86/164.01 isNatKind(active(x0)) 459.86/164.01 U23(mark(x0)) 459.86/164.01 U23(active(x0)) 459.86/164.01 isNat(mark(x0)) 459.86/164.01 isNat(active(x0)) 459.86/164.01 U31(mark(x0), x1) 459.86/164.01 U31(x0, mark(x1)) 459.86/164.01 U31(active(x0), x1) 459.86/164.01 U31(x0, active(x1)) 459.86/164.01 U32(mark(x0), x1) 459.86/164.01 U32(x0, mark(x1)) 459.86/164.01 U32(active(x0), x1) 459.86/164.01 U32(x0, active(x1)) 459.86/164.01 U33(mark(x0)) 459.86/164.01 U33(active(x0)) 459.86/164.01 U41(mark(x0), x1, x2) 459.86/164.01 U41(x0, mark(x1), x2) 459.86/164.01 U41(x0, x1, mark(x2)) 459.86/164.01 U41(active(x0), x1, x2) 459.86/164.01 U41(x0, active(x1), x2) 459.86/164.01 U41(x0, x1, active(x2)) 459.86/164.01 U42(mark(x0), x1, x2) 459.86/164.01 U42(x0, mark(x1), x2) 459.86/164.01 U42(x0, x1, mark(x2)) 459.86/164.01 U42(active(x0), x1, x2) 459.86/164.01 U42(x0, active(x1), x2) 459.86/164.01 U42(x0, x1, active(x2)) 459.86/164.01 U43(mark(x0), x1, x2) 459.86/164.01 U43(x0, mark(x1), x2) 459.86/164.01 U43(x0, x1, mark(x2)) 459.86/164.01 U43(active(x0), x1, x2) 459.86/164.01 U43(x0, active(x1), x2) 459.86/164.01 U43(x0, x1, active(x2)) 459.86/164.01 U44(mark(x0), x1, x2) 459.86/164.01 U44(x0, mark(x1), x2) 459.86/164.01 U44(x0, x1, mark(x2)) 459.86/164.01 U44(active(x0), x1, x2) 459.86/164.01 U44(x0, active(x1), x2) 459.86/164.01 U44(x0, x1, active(x2)) 459.86/164.01 U45(mark(x0), x1) 459.86/164.01 U45(x0, mark(x1)) 459.86/164.01 U45(active(x0), x1) 459.86/164.01 U45(x0, active(x1)) 459.86/164.01 U46(mark(x0)) 459.86/164.01 U46(active(x0)) 459.86/164.01 isNatIList(mark(x0)) 459.86/164.01 isNatIList(active(x0)) 459.86/164.01 U51(mark(x0), x1) 459.86/164.01 U51(x0, mark(x1)) 459.86/164.01 U51(active(x0), x1) 459.86/164.01 U51(x0, active(x1)) 459.86/164.01 U52(mark(x0)) 459.86/164.01 U52(active(x0)) 459.86/164.01 U61(mark(x0)) 459.86/164.01 U61(active(x0)) 459.86/164.01 U71(mark(x0)) 459.86/164.01 U71(active(x0)) 459.86/164.01 U81(mark(x0), x1, x2) 459.86/164.01 U81(x0, mark(x1), x2) 459.86/164.01 U81(x0, x1, mark(x2)) 459.86/164.01 U81(active(x0), x1, x2) 459.86/164.01 U81(x0, active(x1), x2) 459.86/164.01 U81(x0, x1, active(x2)) 459.86/164.01 U82(mark(x0), x1, x2) 459.86/164.01 U82(x0, mark(x1), x2) 459.86/164.01 U82(x0, x1, mark(x2)) 459.86/164.01 U82(active(x0), x1, x2) 459.86/164.01 U82(x0, active(x1), x2) 459.86/164.01 U82(x0, x1, active(x2)) 459.86/164.01 U83(mark(x0), x1, x2) 459.86/164.01 U83(x0, mark(x1), x2) 459.86/164.01 U83(x0, x1, mark(x2)) 459.86/164.01 U83(active(x0), x1, x2) 459.86/164.01 U83(x0, active(x1), x2) 459.86/164.01 U83(x0, x1, active(x2)) 459.86/164.01 U84(mark(x0), x1, x2) 459.86/164.01 U84(x0, mark(x1), x2) 459.86/164.01 U84(x0, x1, mark(x2)) 459.86/164.01 U84(active(x0), x1, x2) 459.86/164.01 U84(x0, active(x1), x2) 459.86/164.01 U84(x0, x1, active(x2)) 459.86/164.01 U85(mark(x0), x1) 459.86/164.01 U85(x0, mark(x1)) 459.86/164.01 U85(active(x0), x1) 459.86/164.01 U85(x0, active(x1)) 459.86/164.01 U86(mark(x0)) 459.86/164.01 U86(active(x0)) 459.86/164.01 U91(mark(x0), x1, x2) 459.86/164.01 U91(x0, mark(x1), x2) 459.86/164.01 U91(x0, x1, mark(x2)) 459.86/164.04 U91(active(x0), x1, x2) 459.86/164.04 U91(x0, active(x1), x2) 459.86/164.04 U91(x0, x1, active(x2)) 459.86/164.04 U92(mark(x0), x1, x2) 459.86/164.04 U92(x0, mark(x1), x2) 459.86/164.04 U92(x0, x1, mark(x2)) 459.86/164.04 U92(active(x0), x1, x2) 459.86/164.04 U92(x0, active(x1), x2) 459.86/164.04 U92(x0, x1, active(x2)) 459.86/164.04 U93(mark(x0), x1, x2) 459.86/164.04 U93(x0, mark(x1), x2) 459.86/164.04 U93(x0, x1, mark(x2)) 459.86/164.04 U93(active(x0), x1, x2) 459.86/164.04 U93(x0, active(x1), x2) 459.86/164.04 U93(x0, x1, active(x2)) 459.86/164.04 U94(mark(x0), x1) 459.86/164.04 U94(x0, mark(x1)) 459.86/164.04 U94(active(x0), x1) 459.86/164.04 U94(x0, active(x1)) 459.86/164.04 s(mark(x0)) 459.86/164.04 s(active(x0)) 459.86/164.04 length(mark(x0)) 459.86/164.04 length(active(x0)) 459.86/164.04 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (72) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.04 U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.04 U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) 459.86/164.04 U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.04 U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.04 U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) 459.86/164.04 459.86/164.04 R is empty. 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 459.86/164.04 We have to consider all minimal (P,Q,R)-chains. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (73) QDPSizeChangeProof (EQUIVALENT) 459.86/164.04 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. 459.86/164.04 459.86/164.04 From the DPs we obtained the following set of size-change graphs: 459.86/164.04 *U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.04 459.86/164.04 459.86/164.04 *U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.04 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (74) 459.86/164.04 YES 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (75) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 459.86/164.04 The TRS R consists of the following rules: 459.86/164.04 459.86/164.04 active(zeros) -> mark(cons(0, zeros)) 459.86/164.04 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.04 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.04 active(U13(tt)) -> mark(tt) 459.86/164.04 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.04 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.04 active(U23(tt)) -> mark(tt) 459.86/164.04 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.04 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.04 active(U33(tt)) -> mark(tt) 459.86/164.04 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.04 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.04 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.04 active(U46(tt)) -> mark(tt) 459.86/164.04 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.04 active(U52(tt)) -> mark(tt) 459.86/164.04 active(U61(tt)) -> mark(tt) 459.86/164.04 active(U71(tt)) -> mark(tt) 459.86/164.04 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.04 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.04 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.04 active(U86(tt)) -> mark(tt) 459.86/164.04 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.04 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.04 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.04 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.04 active(isNat(0)) -> mark(tt) 459.86/164.04 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.04 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.04 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.04 active(isNatIList(zeros)) -> mark(tt) 459.86/164.04 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.04 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.04 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.04 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.04 active(isNatKind(0)) -> mark(tt) 459.86/164.04 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.04 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.04 active(isNatList(nil)) -> mark(tt) 459.86/164.04 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.04 active(length(nil)) -> mark(0) 459.86/164.04 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.04 mark(zeros) -> active(zeros) 459.86/164.04 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.04 mark(0) -> active(0) 459.86/164.04 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.04 mark(tt) -> active(tt) 459.86/164.04 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.04 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.04 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.04 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.04 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.04 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.04 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.04 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.04 mark(isNat(X)) -> active(isNat(X)) 459.86/164.04 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.04 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.04 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.04 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.04 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.04 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.04 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.04 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.04 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.04 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.04 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.04 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.04 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.04 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.04 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.04 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.04 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.04 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.04 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.04 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.04 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.04 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.04 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.04 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.04 mark(s(X)) -> active(s(mark(X))) 459.86/164.04 mark(length(X)) -> active(length(mark(X))) 459.86/164.04 mark(nil) -> active(nil) 459.86/164.04 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.04 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.04 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.04 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.04 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.04 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.04 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.04 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.04 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.04 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.04 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.04 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.04 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.04 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.04 U13(mark(X)) -> U13(X) 459.86/164.04 U13(active(X)) -> U13(X) 459.86/164.04 isNatList(mark(X)) -> isNatList(X) 459.86/164.04 isNatList(active(X)) -> isNatList(X) 459.86/164.04 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.04 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.04 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.04 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.04 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.04 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.04 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.04 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.04 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.04 isNatKind(active(X)) -> isNatKind(X) 459.86/164.04 U23(mark(X)) -> U23(X) 459.86/164.04 U23(active(X)) -> U23(X) 459.86/164.04 isNat(mark(X)) -> isNat(X) 459.86/164.04 isNat(active(X)) -> isNat(X) 459.86/164.04 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.04 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.04 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.04 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.04 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.04 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.04 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.04 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.04 U33(mark(X)) -> U33(X) 459.86/164.04 U33(active(X)) -> U33(X) 459.86/164.04 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.04 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.04 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.04 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.04 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.04 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.04 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.04 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.04 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.04 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.04 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.04 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.04 U46(mark(X)) -> U46(X) 459.86/164.04 U46(active(X)) -> U46(X) 459.86/164.04 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.04 isNatIList(active(X)) -> isNatIList(X) 459.86/164.04 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.04 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.04 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.04 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.04 U52(mark(X)) -> U52(X) 459.86/164.04 U52(active(X)) -> U52(X) 459.86/164.04 U61(mark(X)) -> U61(X) 459.86/164.04 U61(active(X)) -> U61(X) 459.86/164.04 U71(mark(X)) -> U71(X) 459.86/164.04 U71(active(X)) -> U71(X) 459.86/164.04 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.04 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.04 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.04 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.04 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.04 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.04 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.04 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.04 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.04 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.04 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.04 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.04 U86(mark(X)) -> U86(X) 459.86/164.04 U86(active(X)) -> U86(X) 459.86/164.04 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.04 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.04 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.04 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.04 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.04 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.04 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.04 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.04 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.04 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.04 s(mark(X)) -> s(X) 459.86/164.04 s(active(X)) -> s(X) 459.86/164.04 length(mark(X)) -> length(X) 459.86/164.04 length(active(X)) -> length(X) 459.86/164.04 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 cons(mark(x0), x1) 459.86/164.04 cons(x0, mark(x1)) 459.86/164.04 cons(active(x0), x1) 459.86/164.04 cons(x0, active(x1)) 459.86/164.04 U11(mark(x0), x1) 459.86/164.04 U11(x0, mark(x1)) 459.86/164.04 U11(active(x0), x1) 459.86/164.04 U11(x0, active(x1)) 459.86/164.04 U12(mark(x0), x1) 459.86/164.04 U12(x0, mark(x1)) 459.86/164.04 U12(active(x0), x1) 459.86/164.04 U12(x0, active(x1)) 459.86/164.04 isNatIListKind(mark(x0)) 459.86/164.04 isNatIListKind(active(x0)) 459.86/164.04 U13(mark(x0)) 459.86/164.04 U13(active(x0)) 459.86/164.04 isNatList(mark(x0)) 459.86/164.04 isNatList(active(x0)) 459.86/164.04 U21(mark(x0), x1) 459.86/164.04 U21(x0, mark(x1)) 459.86/164.04 U21(active(x0), x1) 459.86/164.04 U21(x0, active(x1)) 459.86/164.04 U22(mark(x0), x1) 459.86/164.04 U22(x0, mark(x1)) 459.86/164.04 U22(active(x0), x1) 459.86/164.04 U22(x0, active(x1)) 459.86/164.04 isNatKind(mark(x0)) 459.86/164.04 isNatKind(active(x0)) 459.86/164.04 U23(mark(x0)) 459.86/164.04 U23(active(x0)) 459.86/164.04 isNat(mark(x0)) 459.86/164.04 isNat(active(x0)) 459.86/164.04 U31(mark(x0), x1) 459.86/164.04 U31(x0, mark(x1)) 459.86/164.04 U31(active(x0), x1) 459.86/164.04 U31(x0, active(x1)) 459.86/164.04 U32(mark(x0), x1) 459.86/164.04 U32(x0, mark(x1)) 459.86/164.04 U32(active(x0), x1) 459.86/164.04 U32(x0, active(x1)) 459.86/164.04 U33(mark(x0)) 459.86/164.04 U33(active(x0)) 459.86/164.04 U41(mark(x0), x1, x2) 459.86/164.04 U41(x0, mark(x1), x2) 459.86/164.04 U41(x0, x1, mark(x2)) 459.86/164.04 U41(active(x0), x1, x2) 459.86/164.04 U41(x0, active(x1), x2) 459.86/164.04 U41(x0, x1, active(x2)) 459.86/164.04 U42(mark(x0), x1, x2) 459.86/164.04 U42(x0, mark(x1), x2) 459.86/164.04 U42(x0, x1, mark(x2)) 459.86/164.04 U42(active(x0), x1, x2) 459.86/164.04 U42(x0, active(x1), x2) 459.86/164.04 U42(x0, x1, active(x2)) 459.86/164.04 U43(mark(x0), x1, x2) 459.86/164.04 U43(x0, mark(x1), x2) 459.86/164.04 U43(x0, x1, mark(x2)) 459.86/164.04 U43(active(x0), x1, x2) 459.86/164.04 U43(x0, active(x1), x2) 459.86/164.04 U43(x0, x1, active(x2)) 459.86/164.04 U44(mark(x0), x1, x2) 459.86/164.04 U44(x0, mark(x1), x2) 459.86/164.04 U44(x0, x1, mark(x2)) 459.86/164.04 U44(active(x0), x1, x2) 459.86/164.04 U44(x0, active(x1), x2) 459.86/164.04 U44(x0, x1, active(x2)) 459.86/164.04 U45(mark(x0), x1) 459.86/164.04 U45(x0, mark(x1)) 459.86/164.04 U45(active(x0), x1) 459.86/164.04 U45(x0, active(x1)) 459.86/164.04 U46(mark(x0)) 459.86/164.04 U46(active(x0)) 459.86/164.04 isNatIList(mark(x0)) 459.86/164.04 isNatIList(active(x0)) 459.86/164.04 U51(mark(x0), x1) 459.86/164.04 U51(x0, mark(x1)) 459.86/164.04 U51(active(x0), x1) 459.86/164.04 U51(x0, active(x1)) 459.86/164.04 U52(mark(x0)) 459.86/164.04 U52(active(x0)) 459.86/164.04 U61(mark(x0)) 459.86/164.04 U61(active(x0)) 459.86/164.04 U71(mark(x0)) 459.86/164.04 U71(active(x0)) 459.86/164.04 U81(mark(x0), x1, x2) 459.86/164.04 U81(x0, mark(x1), x2) 459.86/164.04 U81(x0, x1, mark(x2)) 459.86/164.04 U81(active(x0), x1, x2) 459.86/164.04 U81(x0, active(x1), x2) 459.86/164.04 U81(x0, x1, active(x2)) 459.86/164.04 U82(mark(x0), x1, x2) 459.86/164.04 U82(x0, mark(x1), x2) 459.86/164.04 U82(x0, x1, mark(x2)) 459.86/164.04 U82(active(x0), x1, x2) 459.86/164.04 U82(x0, active(x1), x2) 459.86/164.04 U82(x0, x1, active(x2)) 459.86/164.04 U83(mark(x0), x1, x2) 459.86/164.04 U83(x0, mark(x1), x2) 459.86/164.04 U83(x0, x1, mark(x2)) 459.86/164.04 U83(active(x0), x1, x2) 459.86/164.04 U83(x0, active(x1), x2) 459.86/164.04 U83(x0, x1, active(x2)) 459.86/164.04 U84(mark(x0), x1, x2) 459.86/164.04 U84(x0, mark(x1), x2) 459.86/164.04 U84(x0, x1, mark(x2)) 459.86/164.04 U84(active(x0), x1, x2) 459.86/164.04 U84(x0, active(x1), x2) 459.86/164.04 U84(x0, x1, active(x2)) 459.86/164.04 U85(mark(x0), x1) 459.86/164.04 U85(x0, mark(x1)) 459.86/164.04 U85(active(x0), x1) 459.86/164.04 U85(x0, active(x1)) 459.86/164.04 U86(mark(x0)) 459.86/164.04 U86(active(x0)) 459.86/164.04 U91(mark(x0), x1, x2) 459.86/164.04 U91(x0, mark(x1), x2) 459.86/164.04 U91(x0, x1, mark(x2)) 459.86/164.04 U91(active(x0), x1, x2) 459.86/164.04 U91(x0, active(x1), x2) 459.86/164.04 U91(x0, x1, active(x2)) 459.86/164.04 U92(mark(x0), x1, x2) 459.86/164.04 U92(x0, mark(x1), x2) 459.86/164.04 U92(x0, x1, mark(x2)) 459.86/164.04 U92(active(x0), x1, x2) 459.86/164.04 U92(x0, active(x1), x2) 459.86/164.04 U92(x0, x1, active(x2)) 459.86/164.04 U93(mark(x0), x1, x2) 459.86/164.04 U93(x0, mark(x1), x2) 459.86/164.04 U93(x0, x1, mark(x2)) 459.86/164.04 U93(active(x0), x1, x2) 459.86/164.04 U93(x0, active(x1), x2) 459.86/164.04 U93(x0, x1, active(x2)) 459.86/164.04 U94(mark(x0), x1) 459.86/164.04 U94(x0, mark(x1)) 459.86/164.04 U94(active(x0), x1) 459.86/164.04 U94(x0, active(x1)) 459.86/164.04 s(mark(x0)) 459.86/164.04 s(active(x0)) 459.86/164.04 length(mark(x0)) 459.86/164.04 length(active(x0)) 459.86/164.04 459.86/164.04 We have to consider all minimal (P,Q,R)-chains. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (76) UsableRulesProof (EQUIVALENT) 459.86/164.04 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. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (77) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 459.86/164.04 R is empty. 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 cons(mark(x0), x1) 459.86/164.04 cons(x0, mark(x1)) 459.86/164.04 cons(active(x0), x1) 459.86/164.04 cons(x0, active(x1)) 459.86/164.04 U11(mark(x0), x1) 459.86/164.04 U11(x0, mark(x1)) 459.86/164.04 U11(active(x0), x1) 459.86/164.04 U11(x0, active(x1)) 459.86/164.04 U12(mark(x0), x1) 459.86/164.04 U12(x0, mark(x1)) 459.86/164.04 U12(active(x0), x1) 459.86/164.04 U12(x0, active(x1)) 459.86/164.04 isNatIListKind(mark(x0)) 459.86/164.04 isNatIListKind(active(x0)) 459.86/164.04 U13(mark(x0)) 459.86/164.04 U13(active(x0)) 459.86/164.04 isNatList(mark(x0)) 459.86/164.04 isNatList(active(x0)) 459.86/164.04 U21(mark(x0), x1) 459.86/164.04 U21(x0, mark(x1)) 459.86/164.04 U21(active(x0), x1) 459.86/164.04 U21(x0, active(x1)) 459.86/164.04 U22(mark(x0), x1) 459.86/164.04 U22(x0, mark(x1)) 459.86/164.04 U22(active(x0), x1) 459.86/164.04 U22(x0, active(x1)) 459.86/164.04 isNatKind(mark(x0)) 459.86/164.04 isNatKind(active(x0)) 459.86/164.04 U23(mark(x0)) 459.86/164.04 U23(active(x0)) 459.86/164.04 isNat(mark(x0)) 459.86/164.04 isNat(active(x0)) 459.86/164.04 U31(mark(x0), x1) 459.86/164.04 U31(x0, mark(x1)) 459.86/164.04 U31(active(x0), x1) 459.86/164.04 U31(x0, active(x1)) 459.86/164.04 U32(mark(x0), x1) 459.86/164.04 U32(x0, mark(x1)) 459.86/164.04 U32(active(x0), x1) 459.86/164.04 U32(x0, active(x1)) 459.86/164.04 U33(mark(x0)) 459.86/164.04 U33(active(x0)) 459.86/164.04 U41(mark(x0), x1, x2) 459.86/164.04 U41(x0, mark(x1), x2) 459.86/164.04 U41(x0, x1, mark(x2)) 459.86/164.04 U41(active(x0), x1, x2) 459.86/164.04 U41(x0, active(x1), x2) 459.86/164.04 U41(x0, x1, active(x2)) 459.86/164.04 U42(mark(x0), x1, x2) 459.86/164.04 U42(x0, mark(x1), x2) 459.86/164.04 U42(x0, x1, mark(x2)) 459.86/164.04 U42(active(x0), x1, x2) 459.86/164.04 U42(x0, active(x1), x2) 459.86/164.04 U42(x0, x1, active(x2)) 459.86/164.04 U43(mark(x0), x1, x2) 459.86/164.04 U43(x0, mark(x1), x2) 459.86/164.04 U43(x0, x1, mark(x2)) 459.86/164.04 U43(active(x0), x1, x2) 459.86/164.04 U43(x0, active(x1), x2) 459.86/164.04 U43(x0, x1, active(x2)) 459.86/164.04 U44(mark(x0), x1, x2) 459.86/164.04 U44(x0, mark(x1), x2) 459.86/164.04 U44(x0, x1, mark(x2)) 459.86/164.04 U44(active(x0), x1, x2) 459.86/164.04 U44(x0, active(x1), x2) 459.86/164.04 U44(x0, x1, active(x2)) 459.86/164.04 U45(mark(x0), x1) 459.86/164.04 U45(x0, mark(x1)) 459.86/164.04 U45(active(x0), x1) 459.86/164.04 U45(x0, active(x1)) 459.86/164.04 U46(mark(x0)) 459.86/164.04 U46(active(x0)) 459.86/164.04 isNatIList(mark(x0)) 459.86/164.04 isNatIList(active(x0)) 459.86/164.04 U51(mark(x0), x1) 459.86/164.04 U51(x0, mark(x1)) 459.86/164.04 U51(active(x0), x1) 459.86/164.04 U51(x0, active(x1)) 459.86/164.04 U52(mark(x0)) 459.86/164.04 U52(active(x0)) 459.86/164.04 U61(mark(x0)) 459.86/164.04 U61(active(x0)) 459.86/164.04 U71(mark(x0)) 459.86/164.04 U71(active(x0)) 459.86/164.04 U81(mark(x0), x1, x2) 459.86/164.04 U81(x0, mark(x1), x2) 459.86/164.04 U81(x0, x1, mark(x2)) 459.86/164.04 U81(active(x0), x1, x2) 459.86/164.04 U81(x0, active(x1), x2) 459.86/164.04 U81(x0, x1, active(x2)) 459.86/164.04 U82(mark(x0), x1, x2) 459.86/164.04 U82(x0, mark(x1), x2) 459.86/164.04 U82(x0, x1, mark(x2)) 459.86/164.04 U82(active(x0), x1, x2) 459.86/164.04 U82(x0, active(x1), x2) 459.86/164.04 U82(x0, x1, active(x2)) 459.86/164.04 U83(mark(x0), x1, x2) 459.86/164.04 U83(x0, mark(x1), x2) 459.86/164.04 U83(x0, x1, mark(x2)) 459.86/164.04 U83(active(x0), x1, x2) 459.86/164.04 U83(x0, active(x1), x2) 459.86/164.04 U83(x0, x1, active(x2)) 459.86/164.04 U84(mark(x0), x1, x2) 459.86/164.04 U84(x0, mark(x1), x2) 459.86/164.04 U84(x0, x1, mark(x2)) 459.86/164.04 U84(active(x0), x1, x2) 459.86/164.04 U84(x0, active(x1), x2) 459.86/164.04 U84(x0, x1, active(x2)) 459.86/164.04 U85(mark(x0), x1) 459.86/164.04 U85(x0, mark(x1)) 459.86/164.04 U85(active(x0), x1) 459.86/164.04 U85(x0, active(x1)) 459.86/164.04 U86(mark(x0)) 459.86/164.04 U86(active(x0)) 459.86/164.04 U91(mark(x0), x1, x2) 459.86/164.04 U91(x0, mark(x1), x2) 459.86/164.04 U91(x0, x1, mark(x2)) 459.86/164.04 U91(active(x0), x1, x2) 459.86/164.04 U91(x0, active(x1), x2) 459.86/164.04 U91(x0, x1, active(x2)) 459.86/164.04 U92(mark(x0), x1, x2) 459.86/164.04 U92(x0, mark(x1), x2) 459.86/164.04 U92(x0, x1, mark(x2)) 459.86/164.04 U92(active(x0), x1, x2) 459.86/164.04 U92(x0, active(x1), x2) 459.86/164.04 U92(x0, x1, active(x2)) 459.86/164.04 U93(mark(x0), x1, x2) 459.86/164.04 U93(x0, mark(x1), x2) 459.86/164.04 U93(x0, x1, mark(x2)) 459.86/164.04 U93(active(x0), x1, x2) 459.86/164.04 U93(x0, active(x1), x2) 459.86/164.04 U93(x0, x1, active(x2)) 459.86/164.04 U94(mark(x0), x1) 459.86/164.04 U94(x0, mark(x1)) 459.86/164.04 U94(active(x0), x1) 459.86/164.04 U94(x0, active(x1)) 459.86/164.04 s(mark(x0)) 459.86/164.04 s(active(x0)) 459.86/164.04 length(mark(x0)) 459.86/164.04 length(active(x0)) 459.86/164.04 459.86/164.04 We have to consider all minimal (P,Q,R)-chains. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (78) QReductionProof (EQUIVALENT) 459.86/164.04 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.86/164.04 459.86/164.04 cons(mark(x0), x1) 459.86/164.04 cons(x0, mark(x1)) 459.86/164.04 cons(active(x0), x1) 459.86/164.04 cons(x0, active(x1)) 459.86/164.04 U11(mark(x0), x1) 459.86/164.04 U11(x0, mark(x1)) 459.86/164.04 U11(active(x0), x1) 459.86/164.04 U11(x0, active(x1)) 459.86/164.04 U12(mark(x0), x1) 459.86/164.04 U12(x0, mark(x1)) 459.86/164.04 U12(active(x0), x1) 459.86/164.04 U12(x0, active(x1)) 459.86/164.04 isNatIListKind(mark(x0)) 459.86/164.04 isNatIListKind(active(x0)) 459.86/164.04 U13(mark(x0)) 459.86/164.04 U13(active(x0)) 459.86/164.04 isNatList(mark(x0)) 459.86/164.04 isNatList(active(x0)) 459.86/164.04 U21(mark(x0), x1) 459.86/164.04 U21(x0, mark(x1)) 459.86/164.04 U21(active(x0), x1) 459.86/164.04 U21(x0, active(x1)) 459.86/164.04 U22(mark(x0), x1) 459.86/164.04 U22(x0, mark(x1)) 459.86/164.04 U22(active(x0), x1) 459.86/164.04 U22(x0, active(x1)) 459.86/164.04 isNatKind(mark(x0)) 459.86/164.04 isNatKind(active(x0)) 459.86/164.04 U23(mark(x0)) 459.86/164.04 U23(active(x0)) 459.86/164.04 isNat(mark(x0)) 459.86/164.04 isNat(active(x0)) 459.86/164.04 U31(mark(x0), x1) 459.86/164.04 U31(x0, mark(x1)) 459.86/164.04 U31(active(x0), x1) 459.86/164.04 U31(x0, active(x1)) 459.86/164.04 U32(mark(x0), x1) 459.86/164.04 U32(x0, mark(x1)) 459.86/164.04 U32(active(x0), x1) 459.86/164.04 U32(x0, active(x1)) 459.86/164.04 U33(mark(x0)) 459.86/164.04 U33(active(x0)) 459.86/164.04 U41(mark(x0), x1, x2) 459.86/164.04 U41(x0, mark(x1), x2) 459.86/164.04 U41(x0, x1, mark(x2)) 459.86/164.04 U41(active(x0), x1, x2) 459.86/164.04 U41(x0, active(x1), x2) 459.86/164.04 U41(x0, x1, active(x2)) 459.86/164.04 U42(mark(x0), x1, x2) 459.86/164.04 U42(x0, mark(x1), x2) 459.86/164.04 U42(x0, x1, mark(x2)) 459.86/164.04 U42(active(x0), x1, x2) 459.86/164.04 U42(x0, active(x1), x2) 459.86/164.04 U42(x0, x1, active(x2)) 459.86/164.04 U43(mark(x0), x1, x2) 459.86/164.04 U43(x0, mark(x1), x2) 459.86/164.04 U43(x0, x1, mark(x2)) 459.86/164.04 U43(active(x0), x1, x2) 459.86/164.04 U43(x0, active(x1), x2) 459.86/164.04 U43(x0, x1, active(x2)) 459.86/164.04 U44(mark(x0), x1, x2) 459.86/164.04 U44(x0, mark(x1), x2) 459.86/164.04 U44(x0, x1, mark(x2)) 459.86/164.04 U44(active(x0), x1, x2) 459.86/164.04 U44(x0, active(x1), x2) 459.86/164.04 U44(x0, x1, active(x2)) 459.86/164.04 U45(mark(x0), x1) 459.86/164.04 U45(x0, mark(x1)) 459.86/164.04 U45(active(x0), x1) 459.86/164.04 U45(x0, active(x1)) 459.86/164.04 U46(mark(x0)) 459.86/164.04 U46(active(x0)) 459.86/164.04 isNatIList(mark(x0)) 459.86/164.04 isNatIList(active(x0)) 459.86/164.04 U51(mark(x0), x1) 459.86/164.04 U51(x0, mark(x1)) 459.86/164.04 U51(active(x0), x1) 459.86/164.04 U51(x0, active(x1)) 459.86/164.04 U52(mark(x0)) 459.86/164.04 U52(active(x0)) 459.86/164.04 U61(mark(x0)) 459.86/164.04 U61(active(x0)) 459.86/164.04 U71(mark(x0)) 459.86/164.04 U71(active(x0)) 459.86/164.04 U81(mark(x0), x1, x2) 459.86/164.04 U81(x0, mark(x1), x2) 459.86/164.04 U81(x0, x1, mark(x2)) 459.86/164.04 U81(active(x0), x1, x2) 459.86/164.04 U81(x0, active(x1), x2) 459.86/164.04 U81(x0, x1, active(x2)) 459.86/164.04 U82(mark(x0), x1, x2) 459.86/164.04 U82(x0, mark(x1), x2) 459.86/164.04 U82(x0, x1, mark(x2)) 459.86/164.04 U82(active(x0), x1, x2) 459.86/164.04 U82(x0, active(x1), x2) 459.86/164.04 U82(x0, x1, active(x2)) 459.86/164.04 U83(mark(x0), x1, x2) 459.86/164.04 U83(x0, mark(x1), x2) 459.86/164.04 U83(x0, x1, mark(x2)) 459.86/164.04 U83(active(x0), x1, x2) 459.86/164.04 U83(x0, active(x1), x2) 459.86/164.04 U83(x0, x1, active(x2)) 459.86/164.04 U84(mark(x0), x1, x2) 459.86/164.04 U84(x0, mark(x1), x2) 459.86/164.04 U84(x0, x1, mark(x2)) 459.86/164.04 U84(active(x0), x1, x2) 459.86/164.04 U84(x0, active(x1), x2) 459.86/164.04 U84(x0, x1, active(x2)) 459.86/164.04 U85(mark(x0), x1) 459.86/164.04 U85(x0, mark(x1)) 459.86/164.04 U85(active(x0), x1) 459.86/164.04 U85(x0, active(x1)) 459.86/164.04 U86(mark(x0)) 459.86/164.04 U86(active(x0)) 459.86/164.04 U91(mark(x0), x1, x2) 459.86/164.04 U91(x0, mark(x1), x2) 459.86/164.04 U91(x0, x1, mark(x2)) 459.86/164.04 U91(active(x0), x1, x2) 459.86/164.04 U91(x0, active(x1), x2) 459.86/164.04 U91(x0, x1, active(x2)) 459.86/164.04 U92(mark(x0), x1, x2) 459.86/164.04 U92(x0, mark(x1), x2) 459.86/164.04 U92(x0, x1, mark(x2)) 459.86/164.04 U92(active(x0), x1, x2) 459.86/164.04 U92(x0, active(x1), x2) 459.86/164.04 U92(x0, x1, active(x2)) 459.86/164.04 U93(mark(x0), x1, x2) 459.86/164.04 U93(x0, mark(x1), x2) 459.86/164.04 U93(x0, x1, mark(x2)) 459.86/164.04 U93(active(x0), x1, x2) 459.86/164.04 U93(x0, active(x1), x2) 459.86/164.04 U93(x0, x1, active(x2)) 459.86/164.04 U94(mark(x0), x1) 459.86/164.04 U94(x0, mark(x1)) 459.86/164.04 U94(active(x0), x1) 459.86/164.04 U94(x0, active(x1)) 459.86/164.04 s(mark(x0)) 459.86/164.04 s(active(x0)) 459.86/164.04 length(mark(x0)) 459.86/164.04 length(active(x0)) 459.86/164.04 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (79) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 459.86/164.04 R is empty. 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 459.86/164.04 We have to consider all minimal (P,Q,R)-chains. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (80) QDPSizeChangeProof (EQUIVALENT) 459.86/164.04 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. 459.86/164.04 459.86/164.04 From the DPs we obtained the following set of size-change graphs: 459.86/164.04 *U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.04 459.86/164.04 459.86/164.04 *U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.04 459.86/164.04 459.86/164.04 *U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) 459.86/164.04 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.04 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (81) 459.86/164.04 YES 459.86/164.04 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (82) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) 459.86/164.04 459.86/164.04 The TRS R consists of the following rules: 459.86/164.04 459.86/164.04 active(zeros) -> mark(cons(0, zeros)) 459.86/164.04 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.04 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.04 active(U13(tt)) -> mark(tt) 459.86/164.04 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.04 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.04 active(U23(tt)) -> mark(tt) 459.86/164.04 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.04 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.04 active(U33(tt)) -> mark(tt) 459.86/164.04 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.04 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.04 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.04 active(U46(tt)) -> mark(tt) 459.86/164.04 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.04 active(U52(tt)) -> mark(tt) 459.86/164.04 active(U61(tt)) -> mark(tt) 459.86/164.04 active(U71(tt)) -> mark(tt) 459.86/164.04 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.04 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.04 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.04 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.04 active(U86(tt)) -> mark(tt) 459.86/164.04 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.04 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.04 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.04 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.04 active(isNat(0)) -> mark(tt) 459.86/164.04 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.04 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.04 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.04 active(isNatIList(zeros)) -> mark(tt) 459.86/164.04 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.04 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.04 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.04 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.04 active(isNatKind(0)) -> mark(tt) 459.86/164.04 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.04 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.04 active(isNatList(nil)) -> mark(tt) 459.86/164.04 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.04 active(length(nil)) -> mark(0) 459.86/164.04 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.04 mark(zeros) -> active(zeros) 459.86/164.04 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.04 mark(0) -> active(0) 459.86/164.04 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.04 mark(tt) -> active(tt) 459.86/164.04 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.04 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.04 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.04 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.04 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.04 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.04 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.04 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.04 mark(isNat(X)) -> active(isNat(X)) 459.86/164.04 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.04 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.04 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.04 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.04 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.04 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.04 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.04 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.04 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.04 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.04 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.04 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.04 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.04 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.04 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.04 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.04 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.04 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.04 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.04 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.04 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.04 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.04 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.04 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.04 mark(s(X)) -> active(s(mark(X))) 459.86/164.04 mark(length(X)) -> active(length(mark(X))) 459.86/164.04 mark(nil) -> active(nil) 459.86/164.04 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.04 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.04 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.04 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.04 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.04 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.04 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.04 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.04 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.04 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.04 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.04 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.04 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.04 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.04 U13(mark(X)) -> U13(X) 459.86/164.04 U13(active(X)) -> U13(X) 459.86/164.04 isNatList(mark(X)) -> isNatList(X) 459.86/164.04 isNatList(active(X)) -> isNatList(X) 459.86/164.04 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.04 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.04 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.04 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.04 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.04 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.04 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.04 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.04 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.04 isNatKind(active(X)) -> isNatKind(X) 459.86/164.04 U23(mark(X)) -> U23(X) 459.86/164.04 U23(active(X)) -> U23(X) 459.86/164.04 isNat(mark(X)) -> isNat(X) 459.86/164.04 isNat(active(X)) -> isNat(X) 459.86/164.04 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.04 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.04 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.04 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.04 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.04 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.04 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.04 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.04 U33(mark(X)) -> U33(X) 459.86/164.04 U33(active(X)) -> U33(X) 459.86/164.04 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.04 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.04 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.04 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.04 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.04 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.04 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.04 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.04 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.04 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.04 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.04 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.04 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.04 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.04 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.04 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.04 U46(mark(X)) -> U46(X) 459.86/164.04 U46(active(X)) -> U46(X) 459.86/164.04 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.04 isNatIList(active(X)) -> isNatIList(X) 459.86/164.04 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.04 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.04 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.04 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.04 U52(mark(X)) -> U52(X) 459.86/164.04 U52(active(X)) -> U52(X) 459.86/164.04 U61(mark(X)) -> U61(X) 459.86/164.04 U61(active(X)) -> U61(X) 459.86/164.04 U71(mark(X)) -> U71(X) 459.86/164.04 U71(active(X)) -> U71(X) 459.86/164.04 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.04 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.04 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.04 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.04 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.04 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.04 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.04 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.04 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.04 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.04 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.04 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.04 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.04 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.04 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.04 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.04 U86(mark(X)) -> U86(X) 459.86/164.04 U86(active(X)) -> U86(X) 459.86/164.04 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.04 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.04 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.04 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.04 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.04 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.04 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.04 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.04 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.04 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.04 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.04 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.04 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.04 s(mark(X)) -> s(X) 459.86/164.04 s(active(X)) -> s(X) 459.86/164.04 length(mark(X)) -> length(X) 459.86/164.04 length(active(X)) -> length(X) 459.86/164.04 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 cons(mark(x0), x1) 459.86/164.04 cons(x0, mark(x1)) 459.86/164.04 cons(active(x0), x1) 459.86/164.04 cons(x0, active(x1)) 459.86/164.04 U11(mark(x0), x1) 459.86/164.04 U11(x0, mark(x1)) 459.86/164.04 U11(active(x0), x1) 459.86/164.04 U11(x0, active(x1)) 459.86/164.04 U12(mark(x0), x1) 459.86/164.04 U12(x0, mark(x1)) 459.86/164.04 U12(active(x0), x1) 459.86/164.04 U12(x0, active(x1)) 459.86/164.04 isNatIListKind(mark(x0)) 459.86/164.04 isNatIListKind(active(x0)) 459.86/164.04 U13(mark(x0)) 459.86/164.04 U13(active(x0)) 459.86/164.04 isNatList(mark(x0)) 459.86/164.04 isNatList(active(x0)) 459.86/164.04 U21(mark(x0), x1) 459.86/164.04 U21(x0, mark(x1)) 459.86/164.04 U21(active(x0), x1) 459.86/164.04 U21(x0, active(x1)) 459.86/164.04 U22(mark(x0), x1) 459.86/164.04 U22(x0, mark(x1)) 459.86/164.04 U22(active(x0), x1) 459.86/164.04 U22(x0, active(x1)) 459.86/164.04 isNatKind(mark(x0)) 459.86/164.04 isNatKind(active(x0)) 459.86/164.04 U23(mark(x0)) 459.86/164.04 U23(active(x0)) 459.86/164.04 isNat(mark(x0)) 459.86/164.04 isNat(active(x0)) 459.86/164.04 U31(mark(x0), x1) 459.86/164.04 U31(x0, mark(x1)) 459.86/164.04 U31(active(x0), x1) 459.86/164.04 U31(x0, active(x1)) 459.86/164.04 U32(mark(x0), x1) 459.86/164.04 U32(x0, mark(x1)) 459.86/164.04 U32(active(x0), x1) 459.86/164.04 U32(x0, active(x1)) 459.86/164.04 U33(mark(x0)) 459.86/164.04 U33(active(x0)) 459.86/164.04 U41(mark(x0), x1, x2) 459.86/164.04 U41(x0, mark(x1), x2) 459.86/164.04 U41(x0, x1, mark(x2)) 459.86/164.04 U41(active(x0), x1, x2) 459.86/164.04 U41(x0, active(x1), x2) 459.86/164.04 U41(x0, x1, active(x2)) 459.86/164.04 U42(mark(x0), x1, x2) 459.86/164.04 U42(x0, mark(x1), x2) 459.86/164.04 U42(x0, x1, mark(x2)) 459.86/164.04 U42(active(x0), x1, x2) 459.86/164.04 U42(x0, active(x1), x2) 459.86/164.04 U42(x0, x1, active(x2)) 459.86/164.04 U43(mark(x0), x1, x2) 459.86/164.04 U43(x0, mark(x1), x2) 459.86/164.04 U43(x0, x1, mark(x2)) 459.86/164.04 U43(active(x0), x1, x2) 459.86/164.04 U43(x0, active(x1), x2) 459.86/164.04 U43(x0, x1, active(x2)) 459.86/164.04 U44(mark(x0), x1, x2) 459.86/164.04 U44(x0, mark(x1), x2) 459.86/164.04 U44(x0, x1, mark(x2)) 459.86/164.04 U44(active(x0), x1, x2) 459.86/164.04 U44(x0, active(x1), x2) 459.86/164.04 U44(x0, x1, active(x2)) 459.86/164.04 U45(mark(x0), x1) 459.86/164.04 U45(x0, mark(x1)) 459.86/164.04 U45(active(x0), x1) 459.86/164.04 U45(x0, active(x1)) 459.86/164.04 U46(mark(x0)) 459.86/164.04 U46(active(x0)) 459.86/164.04 isNatIList(mark(x0)) 459.86/164.04 isNatIList(active(x0)) 459.86/164.04 U51(mark(x0), x1) 459.86/164.04 U51(x0, mark(x1)) 459.86/164.04 U51(active(x0), x1) 459.86/164.04 U51(x0, active(x1)) 459.86/164.04 U52(mark(x0)) 459.86/164.04 U52(active(x0)) 459.86/164.04 U61(mark(x0)) 459.86/164.04 U61(active(x0)) 459.86/164.04 U71(mark(x0)) 459.86/164.04 U71(active(x0)) 459.86/164.04 U81(mark(x0), x1, x2) 459.86/164.04 U81(x0, mark(x1), x2) 459.86/164.04 U81(x0, x1, mark(x2)) 459.86/164.04 U81(active(x0), x1, x2) 459.86/164.04 U81(x0, active(x1), x2) 459.86/164.04 U81(x0, x1, active(x2)) 459.86/164.04 U82(mark(x0), x1, x2) 459.86/164.04 U82(x0, mark(x1), x2) 459.86/164.04 U82(x0, x1, mark(x2)) 459.86/164.04 U82(active(x0), x1, x2) 459.86/164.04 U82(x0, active(x1), x2) 459.86/164.04 U82(x0, x1, active(x2)) 459.86/164.04 U83(mark(x0), x1, x2) 459.86/164.04 U83(x0, mark(x1), x2) 459.86/164.04 U83(x0, x1, mark(x2)) 459.86/164.04 U83(active(x0), x1, x2) 459.86/164.04 U83(x0, active(x1), x2) 459.86/164.04 U83(x0, x1, active(x2)) 459.86/164.04 U84(mark(x0), x1, x2) 459.86/164.04 U84(x0, mark(x1), x2) 459.86/164.04 U84(x0, x1, mark(x2)) 459.86/164.04 U84(active(x0), x1, x2) 459.86/164.04 U84(x0, active(x1), x2) 459.86/164.04 U84(x0, x1, active(x2)) 459.86/164.04 U85(mark(x0), x1) 459.86/164.04 U85(x0, mark(x1)) 459.86/164.04 U85(active(x0), x1) 459.86/164.04 U85(x0, active(x1)) 459.86/164.04 U86(mark(x0)) 459.86/164.04 U86(active(x0)) 459.86/164.04 U91(mark(x0), x1, x2) 459.86/164.04 U91(x0, mark(x1), x2) 459.86/164.04 U91(x0, x1, mark(x2)) 459.86/164.04 U91(active(x0), x1, x2) 459.86/164.04 U91(x0, active(x1), x2) 459.86/164.04 U91(x0, x1, active(x2)) 459.86/164.04 U92(mark(x0), x1, x2) 459.86/164.04 U92(x0, mark(x1), x2) 459.86/164.04 U92(x0, x1, mark(x2)) 459.86/164.04 U92(active(x0), x1, x2) 459.86/164.04 U92(x0, active(x1), x2) 459.86/164.04 U92(x0, x1, active(x2)) 459.86/164.04 U93(mark(x0), x1, x2) 459.86/164.04 U93(x0, mark(x1), x2) 459.86/164.04 U93(x0, x1, mark(x2)) 459.86/164.04 U93(active(x0), x1, x2) 459.86/164.04 U93(x0, active(x1), x2) 459.86/164.04 U93(x0, x1, active(x2)) 459.86/164.04 U94(mark(x0), x1) 459.86/164.04 U94(x0, mark(x1)) 459.86/164.04 U94(active(x0), x1) 459.86/164.04 U94(x0, active(x1)) 459.86/164.04 s(mark(x0)) 459.86/164.04 s(active(x0)) 459.86/164.04 length(mark(x0)) 459.86/164.04 length(active(x0)) 459.86/164.04 459.86/164.04 We have to consider all minimal (P,Q,R)-chains. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (83) UsableRulesProof (EQUIVALENT) 459.86/164.04 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. 459.86/164.04 ---------------------------------------- 459.86/164.04 459.86/164.04 (84) 459.86/164.04 Obligation: 459.86/164.04 Q DP problem: 459.86/164.04 The TRS P consists of the following rules: 459.86/164.04 459.86/164.04 U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.04 U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) 459.86/164.04 459.86/164.04 R is empty. 459.86/164.04 The set Q consists of the following terms: 459.86/164.04 459.86/164.04 active(zeros) 459.86/164.04 active(U11(tt, x0)) 459.86/164.04 active(U12(tt, x0)) 459.86/164.04 active(U13(tt)) 459.86/164.04 active(U21(tt, x0)) 459.86/164.04 active(U22(tt, x0)) 459.86/164.04 active(U23(tt)) 459.86/164.04 active(U31(tt, x0)) 459.86/164.04 active(U32(tt, x0)) 459.86/164.04 active(U33(tt)) 459.86/164.04 active(U41(tt, x0, x1)) 459.86/164.04 active(U42(tt, x0, x1)) 459.86/164.04 active(U43(tt, x0, x1)) 459.86/164.04 active(U44(tt, x0, x1)) 459.86/164.04 active(U45(tt, x0)) 459.86/164.04 active(U46(tt)) 459.86/164.04 active(U51(tt, x0)) 459.86/164.04 active(U52(tt)) 459.86/164.04 active(U61(tt)) 459.86/164.04 active(U71(tt)) 459.86/164.04 active(U81(tt, x0, x1)) 459.86/164.04 active(U82(tt, x0, x1)) 459.86/164.04 active(U83(tt, x0, x1)) 459.86/164.04 active(U84(tt, x0, x1)) 459.86/164.04 active(U85(tt, x0)) 459.86/164.04 active(U86(tt)) 459.86/164.04 active(U91(tt, x0, x1)) 459.86/164.04 active(U92(tt, x0, x1)) 459.86/164.04 active(U93(tt, x0, x1)) 459.86/164.04 active(U94(tt, x0)) 459.86/164.04 active(isNat(0)) 459.86/164.04 active(isNat(length(x0))) 459.86/164.04 active(isNat(s(x0))) 459.86/164.04 active(isNatIList(x0)) 459.86/164.04 active(isNatIListKind(nil)) 459.86/164.04 active(isNatIListKind(zeros)) 459.86/164.04 active(isNatIListKind(cons(x0, x1))) 459.86/164.04 active(isNatKind(0)) 459.86/164.04 active(isNatKind(length(x0))) 459.86/164.04 active(isNatKind(s(x0))) 459.86/164.04 active(isNatList(nil)) 459.86/164.04 active(isNatList(cons(x0, x1))) 459.86/164.04 active(length(nil)) 459.86/164.04 active(length(cons(x0, x1))) 459.86/164.04 mark(zeros) 459.86/164.04 mark(cons(x0, x1)) 459.86/164.04 mark(0) 459.86/164.04 mark(U11(x0, x1)) 459.86/164.04 mark(tt) 459.86/164.04 mark(U12(x0, x1)) 459.86/164.04 mark(isNatIListKind(x0)) 459.86/164.04 mark(U13(x0)) 459.86/164.04 mark(isNatList(x0)) 459.86/164.04 mark(U21(x0, x1)) 459.86/164.04 mark(U22(x0, x1)) 459.86/164.04 mark(isNatKind(x0)) 459.86/164.04 mark(U23(x0)) 459.86/164.04 mark(isNat(x0)) 459.86/164.04 mark(U31(x0, x1)) 459.86/164.04 mark(U32(x0, x1)) 459.86/164.04 mark(U33(x0)) 459.86/164.04 mark(U41(x0, x1, x2)) 459.86/164.04 mark(U42(x0, x1, x2)) 459.86/164.04 mark(U43(x0, x1, x2)) 459.86/164.04 mark(U44(x0, x1, x2)) 459.86/164.04 mark(U45(x0, x1)) 459.86/164.04 mark(U46(x0)) 459.86/164.04 mark(isNatIList(x0)) 459.86/164.04 mark(U51(x0, x1)) 459.86/164.04 mark(U52(x0)) 459.86/164.04 mark(U61(x0)) 459.86/164.04 mark(U71(x0)) 459.86/164.04 mark(U81(x0, x1, x2)) 459.86/164.04 mark(U82(x0, x1, x2)) 459.86/164.04 mark(U83(x0, x1, x2)) 459.86/164.04 mark(U84(x0, x1, x2)) 459.86/164.04 mark(U85(x0, x1)) 459.86/164.04 mark(U86(x0)) 459.86/164.04 mark(U91(x0, x1, x2)) 459.86/164.04 mark(U92(x0, x1, x2)) 459.86/164.04 mark(U93(x0, x1, x2)) 459.86/164.04 mark(U94(x0, x1)) 459.86/164.04 mark(s(x0)) 459.86/164.04 mark(length(x0)) 459.86/164.04 mark(nil) 459.86/164.04 cons(mark(x0), x1) 459.86/164.04 cons(x0, mark(x1)) 459.86/164.04 cons(active(x0), x1) 459.86/164.04 cons(x0, active(x1)) 459.86/164.04 U11(mark(x0), x1) 459.86/164.04 U11(x0, mark(x1)) 459.86/164.04 U11(active(x0), x1) 459.86/164.04 U11(x0, active(x1)) 459.86/164.04 U12(mark(x0), x1) 459.86/164.04 U12(x0, mark(x1)) 459.86/164.04 U12(active(x0), x1) 459.86/164.04 U12(x0, active(x1)) 459.86/164.04 isNatIListKind(mark(x0)) 459.86/164.04 isNatIListKind(active(x0)) 459.86/164.04 U13(mark(x0)) 459.86/164.04 U13(active(x0)) 459.86/164.04 isNatList(mark(x0)) 459.86/164.04 isNatList(active(x0)) 459.86/164.04 U21(mark(x0), x1) 459.86/164.04 U21(x0, mark(x1)) 459.86/164.04 U21(active(x0), x1) 459.86/164.04 U21(x0, active(x1)) 459.86/164.04 U22(mark(x0), x1) 459.86/164.04 U22(x0, mark(x1)) 459.86/164.04 U22(active(x0), x1) 459.86/164.04 U22(x0, active(x1)) 459.86/164.04 isNatKind(mark(x0)) 459.86/164.04 isNatKind(active(x0)) 459.86/164.04 U23(mark(x0)) 459.86/164.04 U23(active(x0)) 459.86/164.04 isNat(mark(x0)) 459.86/164.04 isNat(active(x0)) 459.86/164.04 U31(mark(x0), x1) 459.86/164.04 U31(x0, mark(x1)) 459.86/164.04 U31(active(x0), x1) 459.86/164.04 U31(x0, active(x1)) 459.86/164.04 U32(mark(x0), x1) 459.86/164.04 U32(x0, mark(x1)) 459.86/164.04 U32(active(x0), x1) 459.86/164.04 U32(x0, active(x1)) 459.86/164.04 U33(mark(x0)) 459.86/164.04 U33(active(x0)) 459.86/164.04 U41(mark(x0), x1, x2) 459.86/164.04 U41(x0, mark(x1), x2) 459.86/164.04 U41(x0, x1, mark(x2)) 459.86/164.04 U41(active(x0), x1, x2) 459.86/164.04 U41(x0, active(x1), x2) 459.86/164.04 U41(x0, x1, active(x2)) 459.86/164.04 U42(mark(x0), x1, x2) 459.86/164.04 U42(x0, mark(x1), x2) 459.86/164.04 U42(x0, x1, mark(x2)) 459.86/164.04 U42(active(x0), x1, x2) 459.86/164.04 U42(x0, active(x1), x2) 459.86/164.04 U42(x0, x1, active(x2)) 459.86/164.04 U43(mark(x0), x1, x2) 459.86/164.04 U43(x0, mark(x1), x2) 459.86/164.04 U43(x0, x1, mark(x2)) 459.86/164.04 U43(active(x0), x1, x2) 459.86/164.04 U43(x0, active(x1), x2) 459.86/164.04 U43(x0, x1, active(x2)) 459.86/164.04 U44(mark(x0), x1, x2) 459.86/164.04 U44(x0, mark(x1), x2) 459.86/164.04 U44(x0, x1, mark(x2)) 459.86/164.04 U44(active(x0), x1, x2) 459.86/164.04 U44(x0, active(x1), x2) 459.86/164.04 U44(x0, x1, active(x2)) 459.86/164.04 U45(mark(x0), x1) 459.86/164.04 U45(x0, mark(x1)) 459.86/164.04 U45(active(x0), x1) 459.86/164.04 U45(x0, active(x1)) 459.86/164.04 U46(mark(x0)) 459.86/164.04 U46(active(x0)) 459.86/164.04 isNatIList(mark(x0)) 459.86/164.04 isNatIList(active(x0)) 459.86/164.04 U51(mark(x0), x1) 459.86/164.04 U51(x0, mark(x1)) 459.86/164.04 U51(active(x0), x1) 459.86/164.04 U51(x0, active(x1)) 459.86/164.04 U52(mark(x0)) 459.86/164.04 U52(active(x0)) 459.86/164.04 U61(mark(x0)) 459.86/164.04 U61(active(x0)) 459.86/164.04 U71(mark(x0)) 459.86/164.04 U71(active(x0)) 459.86/164.04 U81(mark(x0), x1, x2) 459.86/164.04 U81(x0, mark(x1), x2) 459.86/164.04 U81(x0, x1, mark(x2)) 459.86/164.04 U81(active(x0), x1, x2) 459.86/164.04 U81(x0, active(x1), x2) 459.86/164.04 U81(x0, x1, active(x2)) 459.86/164.04 U82(mark(x0), x1, x2) 459.86/164.04 U82(x0, mark(x1), x2) 459.86/164.04 U82(x0, x1, mark(x2)) 459.86/164.04 U82(active(x0), x1, x2) 459.86/164.04 U82(x0, active(x1), x2) 459.86/164.04 U82(x0, x1, active(x2)) 459.86/164.04 U83(mark(x0), x1, x2) 459.86/164.04 U83(x0, mark(x1), x2) 459.86/164.04 U83(x0, x1, mark(x2)) 459.86/164.04 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (85) QReductionProof (EQUIVALENT) 459.86/164.05 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.86/164.05 459.86/164.05 cons(mark(x0), x1) 459.86/164.05 cons(x0, mark(x1)) 459.86/164.05 cons(active(x0), x1) 459.86/164.05 cons(x0, active(x1)) 459.86/164.05 U11(mark(x0), x1) 459.86/164.05 U11(x0, mark(x1)) 459.86/164.05 U11(active(x0), x1) 459.86/164.05 U11(x0, active(x1)) 459.86/164.05 U12(mark(x0), x1) 459.86/164.05 U12(x0, mark(x1)) 459.86/164.05 U12(active(x0), x1) 459.86/164.05 U12(x0, active(x1)) 459.86/164.05 isNatIListKind(mark(x0)) 459.86/164.05 isNatIListKind(active(x0)) 459.86/164.05 U13(mark(x0)) 459.86/164.05 U13(active(x0)) 459.86/164.05 isNatList(mark(x0)) 459.86/164.05 isNatList(active(x0)) 459.86/164.05 U21(mark(x0), x1) 459.86/164.05 U21(x0, mark(x1)) 459.86/164.05 U21(active(x0), x1) 459.86/164.05 U21(x0, active(x1)) 459.86/164.05 U22(mark(x0), x1) 459.86/164.05 U22(x0, mark(x1)) 459.86/164.05 U22(active(x0), x1) 459.86/164.05 U22(x0, active(x1)) 459.86/164.05 isNatKind(mark(x0)) 459.86/164.05 isNatKind(active(x0)) 459.86/164.05 U23(mark(x0)) 459.86/164.05 U23(active(x0)) 459.86/164.05 isNat(mark(x0)) 459.86/164.05 isNat(active(x0)) 459.86/164.05 U31(mark(x0), x1) 459.86/164.05 U31(x0, mark(x1)) 459.86/164.05 U31(active(x0), x1) 459.86/164.05 U31(x0, active(x1)) 459.86/164.05 U32(mark(x0), x1) 459.86/164.05 U32(x0, mark(x1)) 459.86/164.05 U32(active(x0), x1) 459.86/164.05 U32(x0, active(x1)) 459.86/164.05 U33(mark(x0)) 459.86/164.05 U33(active(x0)) 459.86/164.05 U41(mark(x0), x1, x2) 459.86/164.05 U41(x0, mark(x1), x2) 459.86/164.05 U41(x0, x1, mark(x2)) 459.86/164.05 U41(active(x0), x1, x2) 459.86/164.05 U41(x0, active(x1), x2) 459.86/164.05 U41(x0, x1, active(x2)) 459.86/164.05 U42(mark(x0), x1, x2) 459.86/164.05 U42(x0, mark(x1), x2) 459.86/164.05 U42(x0, x1, mark(x2)) 459.86/164.05 U42(active(x0), x1, x2) 459.86/164.05 U42(x0, active(x1), x2) 459.86/164.05 U42(x0, x1, active(x2)) 459.86/164.05 U43(mark(x0), x1, x2) 459.86/164.05 U43(x0, mark(x1), x2) 459.86/164.05 U43(x0, x1, mark(x2)) 459.86/164.05 U43(active(x0), x1, x2) 459.86/164.05 U43(x0, active(x1), x2) 459.86/164.05 U43(x0, x1, active(x2)) 459.86/164.05 U44(mark(x0), x1, x2) 459.86/164.05 U44(x0, mark(x1), x2) 459.86/164.05 U44(x0, x1, mark(x2)) 459.86/164.05 U44(active(x0), x1, x2) 459.86/164.05 U44(x0, active(x1), x2) 459.86/164.05 U44(x0, x1, active(x2)) 459.86/164.05 U45(mark(x0), x1) 459.86/164.05 U45(x0, mark(x1)) 459.86/164.05 U45(active(x0), x1) 459.86/164.05 U45(x0, active(x1)) 459.86/164.05 U46(mark(x0)) 459.86/164.05 U46(active(x0)) 459.86/164.05 isNatIList(mark(x0)) 459.86/164.05 isNatIList(active(x0)) 459.86/164.05 U51(mark(x0), x1) 459.86/164.05 U51(x0, mark(x1)) 459.86/164.05 U51(active(x0), x1) 459.86/164.05 U51(x0, active(x1)) 459.86/164.05 U52(mark(x0)) 459.86/164.05 U52(active(x0)) 459.86/164.05 U61(mark(x0)) 459.86/164.05 U61(active(x0)) 459.86/164.05 U71(mark(x0)) 459.86/164.05 U71(active(x0)) 459.86/164.05 U81(mark(x0), x1, x2) 459.86/164.05 U81(x0, mark(x1), x2) 459.86/164.05 U81(x0, x1, mark(x2)) 459.86/164.05 U81(active(x0), x1, x2) 459.86/164.05 U81(x0, active(x1), x2) 459.86/164.05 U81(x0, x1, active(x2)) 459.86/164.05 U82(mark(x0), x1, x2) 459.86/164.05 U82(x0, mark(x1), x2) 459.86/164.05 U82(x0, x1, mark(x2)) 459.86/164.05 U82(active(x0), x1, x2) 459.86/164.05 U82(x0, active(x1), x2) 459.86/164.05 U82(x0, x1, active(x2)) 459.86/164.05 U83(mark(x0), x1, x2) 459.86/164.05 U83(x0, mark(x1), x2) 459.86/164.05 U83(x0, x1, mark(x2)) 459.86/164.05 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (86) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.05 U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.05 U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) 459.86/164.05 U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.05 U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.05 U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) 459.86/164.05 459.86/164.05 R is empty. 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 459.86/164.05 active(isNatKind(s(x0))) 459.86/164.05 active(isNatList(nil)) 459.86/164.05 active(isNatList(cons(x0, x1))) 459.86/164.05 active(length(nil)) 459.86/164.05 active(length(cons(x0, x1))) 459.86/164.05 mark(zeros) 459.86/164.05 mark(cons(x0, x1)) 459.86/164.05 mark(0) 459.86/164.05 mark(U11(x0, x1)) 459.86/164.05 mark(tt) 459.86/164.05 mark(U12(x0, x1)) 459.86/164.05 mark(isNatIListKind(x0)) 459.86/164.05 mark(U13(x0)) 459.86/164.05 mark(isNatList(x0)) 459.86/164.05 mark(U21(x0, x1)) 459.86/164.05 mark(U22(x0, x1)) 459.86/164.05 mark(isNatKind(x0)) 459.86/164.05 mark(U23(x0)) 459.86/164.05 mark(isNat(x0)) 459.86/164.05 mark(U31(x0, x1)) 459.86/164.05 mark(U32(x0, x1)) 459.86/164.05 mark(U33(x0)) 459.86/164.05 mark(U41(x0, x1, x2)) 459.86/164.05 mark(U42(x0, x1, x2)) 459.86/164.05 mark(U43(x0, x1, x2)) 459.86/164.05 mark(U44(x0, x1, x2)) 459.86/164.05 mark(U45(x0, x1)) 459.86/164.05 mark(U46(x0)) 459.86/164.05 mark(isNatIList(x0)) 459.86/164.05 mark(U51(x0, x1)) 459.86/164.05 mark(U52(x0)) 459.86/164.05 mark(U61(x0)) 459.86/164.05 mark(U71(x0)) 459.86/164.05 mark(U81(x0, x1, x2)) 459.86/164.05 mark(U82(x0, x1, x2)) 459.86/164.05 mark(U83(x0, x1, x2)) 459.86/164.05 mark(U84(x0, x1, x2)) 459.86/164.05 mark(U85(x0, x1)) 459.86/164.05 mark(U86(x0)) 459.86/164.05 mark(U91(x0, x1, x2)) 459.86/164.05 mark(U92(x0, x1, x2)) 459.86/164.05 mark(U93(x0, x1, x2)) 459.86/164.05 mark(U94(x0, x1)) 459.86/164.05 mark(s(x0)) 459.86/164.05 mark(length(x0)) 459.86/164.05 mark(nil) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (87) QDPSizeChangeProof (EQUIVALENT) 459.86/164.05 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. 459.86/164.05 459.86/164.05 From the DPs we obtained the following set of size-change graphs: 459.86/164.05 *U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.05 459.86/164.05 459.86/164.05 *U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.05 459.86/164.05 459.86/164.05 *U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.05 459.86/164.05 459.86/164.05 *U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 459.86/164.05 459.86/164.05 459.86/164.05 *U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 459.86/164.05 459.86/164.05 459.86/164.05 *U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) 459.86/164.05 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 459.86/164.05 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (88) 459.86/164.05 YES 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (89) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U71^1(active(X)) -> U71^1(X) 459.86/164.05 U71^1(mark(X)) -> U71^1(X) 459.86/164.05 459.86/164.05 The TRS R consists of the following rules: 459.86/164.05 459.86/164.05 active(zeros) -> mark(cons(0, zeros)) 459.86/164.05 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.05 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.05 active(U13(tt)) -> mark(tt) 459.86/164.05 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.05 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.05 active(U23(tt)) -> mark(tt) 459.86/164.05 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.05 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.05 active(U33(tt)) -> mark(tt) 459.86/164.05 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.05 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.05 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.05 active(U46(tt)) -> mark(tt) 459.86/164.05 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.05 active(U52(tt)) -> mark(tt) 459.86/164.05 active(U61(tt)) -> mark(tt) 459.86/164.05 active(U71(tt)) -> mark(tt) 459.86/164.05 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.05 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.05 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.05 active(U86(tt)) -> mark(tt) 459.86/164.05 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.05 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.05 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.05 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.05 active(isNat(0)) -> mark(tt) 459.86/164.05 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.05 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.05 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.05 active(isNatIList(zeros)) -> mark(tt) 459.86/164.05 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.05 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.05 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.05 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.05 active(isNatKind(0)) -> mark(tt) 459.86/164.05 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.05 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.05 active(isNatList(nil)) -> mark(tt) 459.86/164.05 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.05 active(length(nil)) -> mark(0) 459.86/164.05 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.05 mark(zeros) -> active(zeros) 459.86/164.05 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.05 mark(0) -> active(0) 459.86/164.05 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.05 mark(tt) -> active(tt) 459.86/164.05 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.05 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.05 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.05 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.05 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.05 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.05 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.05 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.05 mark(isNat(X)) -> active(isNat(X)) 459.86/164.05 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.05 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.05 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.05 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.05 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.05 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.05 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.05 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.05 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.05 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.05 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.05 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.05 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.05 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.05 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.05 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.05 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.05 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.05 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.05 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.05 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.05 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.05 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.05 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.05 mark(s(X)) -> active(s(mark(X))) 459.86/164.05 mark(length(X)) -> active(length(mark(X))) 459.86/164.05 mark(nil) -> active(nil) 459.86/164.05 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.05 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.05 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.05 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.05 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.05 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.05 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.05 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.05 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.05 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.05 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.05 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.05 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.05 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.05 U13(mark(X)) -> U13(X) 459.86/164.05 U13(active(X)) -> U13(X) 459.86/164.05 isNatList(mark(X)) -> isNatList(X) 459.86/164.05 isNatList(active(X)) -> isNatList(X) 459.86/164.05 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.05 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.05 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.05 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.05 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.05 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.05 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.05 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.05 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.05 isNatKind(active(X)) -> isNatKind(X) 459.86/164.05 U23(mark(X)) -> U23(X) 459.86/164.05 U23(active(X)) -> U23(X) 459.86/164.05 isNat(mark(X)) -> isNat(X) 459.86/164.05 isNat(active(X)) -> isNat(X) 459.86/164.05 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.05 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.05 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.05 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.05 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.05 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.05 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.05 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.05 U33(mark(X)) -> U33(X) 459.86/164.05 U33(active(X)) -> U33(X) 459.86/164.05 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.05 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.05 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.05 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.05 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.05 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.05 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.05 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.05 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.05 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.05 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.05 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.05 U46(mark(X)) -> U46(X) 459.86/164.05 U46(active(X)) -> U46(X) 459.86/164.05 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.05 isNatIList(active(X)) -> isNatIList(X) 459.86/164.05 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.05 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.05 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.05 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.05 U52(mark(X)) -> U52(X) 459.86/164.05 U52(active(X)) -> U52(X) 459.86/164.05 U61(mark(X)) -> U61(X) 459.86/164.05 U61(active(X)) -> U61(X) 459.86/164.05 U71(mark(X)) -> U71(X) 459.86/164.05 U71(active(X)) -> U71(X) 459.86/164.05 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.05 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.05 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.05 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.05 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.05 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.05 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.05 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.05 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.05 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.05 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.05 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.05 U86(mark(X)) -> U86(X) 459.86/164.05 U86(active(X)) -> U86(X) 459.86/164.05 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.05 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.05 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.05 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.05 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.05 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.05 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.05 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.05 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.05 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.05 s(mark(X)) -> s(X) 459.86/164.05 s(active(X)) -> s(X) 459.86/164.05 length(mark(X)) -> length(X) 459.86/164.05 length(active(X)) -> length(X) 459.86/164.05 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 459.86/164.05 active(isNatKind(s(x0))) 459.86/164.05 active(isNatList(nil)) 459.86/164.05 active(isNatList(cons(x0, x1))) 459.86/164.05 active(length(nil)) 459.86/164.05 active(length(cons(x0, x1))) 459.86/164.05 mark(zeros) 459.86/164.05 mark(cons(x0, x1)) 459.86/164.05 mark(0) 459.86/164.05 mark(U11(x0, x1)) 459.86/164.05 mark(tt) 459.86/164.05 mark(U12(x0, x1)) 459.86/164.05 mark(isNatIListKind(x0)) 459.86/164.05 mark(U13(x0)) 459.86/164.05 mark(isNatList(x0)) 459.86/164.05 mark(U21(x0, x1)) 459.86/164.05 mark(U22(x0, x1)) 459.86/164.05 mark(isNatKind(x0)) 459.86/164.05 mark(U23(x0)) 459.86/164.05 mark(isNat(x0)) 459.86/164.05 mark(U31(x0, x1)) 459.86/164.05 mark(U32(x0, x1)) 459.86/164.05 mark(U33(x0)) 459.86/164.05 mark(U41(x0, x1, x2)) 459.86/164.05 mark(U42(x0, x1, x2)) 459.86/164.05 mark(U43(x0, x1, x2)) 459.86/164.05 mark(U44(x0, x1, x2)) 459.86/164.05 mark(U45(x0, x1)) 459.86/164.05 mark(U46(x0)) 459.86/164.05 mark(isNatIList(x0)) 459.86/164.05 mark(U51(x0, x1)) 459.86/164.05 mark(U52(x0)) 459.86/164.05 mark(U61(x0)) 459.86/164.05 mark(U71(x0)) 459.86/164.05 mark(U81(x0, x1, x2)) 459.86/164.05 mark(U82(x0, x1, x2)) 459.86/164.05 mark(U83(x0, x1, x2)) 459.86/164.05 mark(U84(x0, x1, x2)) 459.86/164.05 mark(U85(x0, x1)) 459.86/164.05 mark(U86(x0)) 459.86/164.05 mark(U91(x0, x1, x2)) 459.86/164.05 mark(U92(x0, x1, x2)) 459.86/164.05 mark(U93(x0, x1, x2)) 459.86/164.05 mark(U94(x0, x1)) 459.86/164.05 mark(s(x0)) 459.86/164.05 mark(length(x0)) 459.86/164.05 mark(nil) 459.86/164.05 cons(mark(x0), x1) 459.86/164.05 cons(x0, mark(x1)) 459.86/164.05 cons(active(x0), x1) 459.86/164.05 cons(x0, active(x1)) 459.86/164.05 U11(mark(x0), x1) 459.86/164.05 U11(x0, mark(x1)) 459.86/164.05 U11(active(x0), x1) 459.86/164.05 U11(x0, active(x1)) 459.86/164.05 U12(mark(x0), x1) 459.86/164.05 U12(x0, mark(x1)) 459.86/164.05 U12(active(x0), x1) 459.86/164.05 U12(x0, active(x1)) 459.86/164.05 isNatIListKind(mark(x0)) 459.86/164.05 isNatIListKind(active(x0)) 459.86/164.05 U13(mark(x0)) 459.86/164.05 U13(active(x0)) 459.86/164.05 isNatList(mark(x0)) 459.86/164.05 isNatList(active(x0)) 459.86/164.05 U21(mark(x0), x1) 459.86/164.05 U21(x0, mark(x1)) 459.86/164.05 U21(active(x0), x1) 459.86/164.05 U21(x0, active(x1)) 459.86/164.05 U22(mark(x0), x1) 459.86/164.05 U22(x0, mark(x1)) 459.86/164.05 U22(active(x0), x1) 459.86/164.05 U22(x0, active(x1)) 459.86/164.05 isNatKind(mark(x0)) 459.86/164.05 isNatKind(active(x0)) 459.86/164.05 U23(mark(x0)) 459.86/164.05 U23(active(x0)) 459.86/164.05 isNat(mark(x0)) 459.86/164.05 isNat(active(x0)) 459.86/164.05 U31(mark(x0), x1) 459.86/164.05 U31(x0, mark(x1)) 459.86/164.05 U31(active(x0), x1) 459.86/164.05 U31(x0, active(x1)) 459.86/164.05 U32(mark(x0), x1) 459.86/164.05 U32(x0, mark(x1)) 459.86/164.05 U32(active(x0), x1) 459.86/164.05 U32(x0, active(x1)) 459.86/164.05 U33(mark(x0)) 459.86/164.05 U33(active(x0)) 459.86/164.05 U41(mark(x0), x1, x2) 459.86/164.05 U41(x0, mark(x1), x2) 459.86/164.05 U41(x0, x1, mark(x2)) 459.86/164.05 U41(active(x0), x1, x2) 459.86/164.05 U41(x0, active(x1), x2) 459.86/164.05 U41(x0, x1, active(x2)) 459.86/164.05 U42(mark(x0), x1, x2) 459.86/164.05 U42(x0, mark(x1), x2) 459.86/164.05 U42(x0, x1, mark(x2)) 459.86/164.05 U42(active(x0), x1, x2) 459.86/164.05 U42(x0, active(x1), x2) 459.86/164.05 U42(x0, x1, active(x2)) 459.86/164.05 U43(mark(x0), x1, x2) 459.86/164.05 U43(x0, mark(x1), x2) 459.86/164.05 U43(x0, x1, mark(x2)) 459.86/164.05 U43(active(x0), x1, x2) 459.86/164.05 U43(x0, active(x1), x2) 459.86/164.05 U43(x0, x1, active(x2)) 459.86/164.05 U44(mark(x0), x1, x2) 459.86/164.05 U44(x0, mark(x1), x2) 459.86/164.05 U44(x0, x1, mark(x2)) 459.86/164.05 U44(active(x0), x1, x2) 459.86/164.05 U44(x0, active(x1), x2) 459.86/164.05 U44(x0, x1, active(x2)) 459.86/164.05 U45(mark(x0), x1) 459.86/164.05 U45(x0, mark(x1)) 459.86/164.05 U45(active(x0), x1) 459.86/164.05 U45(x0, active(x1)) 459.86/164.05 U46(mark(x0)) 459.86/164.05 U46(active(x0)) 459.86/164.05 isNatIList(mark(x0)) 459.86/164.05 isNatIList(active(x0)) 459.86/164.05 U51(mark(x0), x1) 459.86/164.05 U51(x0, mark(x1)) 459.86/164.05 U51(active(x0), x1) 459.86/164.05 U51(x0, active(x1)) 459.86/164.05 U52(mark(x0)) 459.86/164.05 U52(active(x0)) 459.86/164.05 U61(mark(x0)) 459.86/164.05 U61(active(x0)) 459.86/164.05 U71(mark(x0)) 459.86/164.05 U71(active(x0)) 459.86/164.05 U81(mark(x0), x1, x2) 459.86/164.05 U81(x0, mark(x1), x2) 459.86/164.05 U81(x0, x1, mark(x2)) 459.86/164.05 U81(active(x0), x1, x2) 459.86/164.05 U81(x0, active(x1), x2) 459.86/164.05 U81(x0, x1, active(x2)) 459.86/164.05 U82(mark(x0), x1, x2) 459.86/164.05 U82(x0, mark(x1), x2) 459.86/164.05 U82(x0, x1, mark(x2)) 459.86/164.05 U82(active(x0), x1, x2) 459.86/164.05 U82(x0, active(x1), x2) 459.86/164.05 U82(x0, x1, active(x2)) 459.86/164.05 U83(mark(x0), x1, x2) 459.86/164.05 U83(x0, mark(x1), x2) 459.86/164.05 U83(x0, x1, mark(x2)) 459.86/164.05 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (90) UsableRulesProof (EQUIVALENT) 459.86/164.05 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. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (91) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U71^1(active(X)) -> U71^1(X) 459.86/164.05 U71^1(mark(X)) -> U71^1(X) 459.86/164.05 459.86/164.05 R is empty. 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 459.86/164.05 active(isNatKind(s(x0))) 459.86/164.05 active(isNatList(nil)) 459.86/164.05 active(isNatList(cons(x0, x1))) 459.86/164.05 active(length(nil)) 459.86/164.05 active(length(cons(x0, x1))) 459.86/164.05 mark(zeros) 459.86/164.05 mark(cons(x0, x1)) 459.86/164.05 mark(0) 459.86/164.05 mark(U11(x0, x1)) 459.86/164.05 mark(tt) 459.86/164.05 mark(U12(x0, x1)) 459.86/164.05 mark(isNatIListKind(x0)) 459.86/164.05 mark(U13(x0)) 459.86/164.05 mark(isNatList(x0)) 459.86/164.05 mark(U21(x0, x1)) 459.86/164.05 mark(U22(x0, x1)) 459.86/164.05 mark(isNatKind(x0)) 459.86/164.05 mark(U23(x0)) 459.86/164.05 mark(isNat(x0)) 459.86/164.05 mark(U31(x0, x1)) 459.86/164.05 mark(U32(x0, x1)) 459.86/164.05 mark(U33(x0)) 459.86/164.05 mark(U41(x0, x1, x2)) 459.86/164.05 mark(U42(x0, x1, x2)) 459.86/164.05 mark(U43(x0, x1, x2)) 459.86/164.05 mark(U44(x0, x1, x2)) 459.86/164.05 mark(U45(x0, x1)) 459.86/164.05 mark(U46(x0)) 459.86/164.05 mark(isNatIList(x0)) 459.86/164.05 mark(U51(x0, x1)) 459.86/164.05 mark(U52(x0)) 459.86/164.05 mark(U61(x0)) 459.86/164.05 mark(U71(x0)) 459.86/164.05 mark(U81(x0, x1, x2)) 459.86/164.05 mark(U82(x0, x1, x2)) 459.86/164.05 mark(U83(x0, x1, x2)) 459.86/164.05 mark(U84(x0, x1, x2)) 459.86/164.05 mark(U85(x0, x1)) 459.86/164.05 mark(U86(x0)) 459.86/164.05 mark(U91(x0, x1, x2)) 459.86/164.05 mark(U92(x0, x1, x2)) 459.86/164.05 mark(U93(x0, x1, x2)) 459.86/164.05 mark(U94(x0, x1)) 459.86/164.05 mark(s(x0)) 459.86/164.05 mark(length(x0)) 459.86/164.05 mark(nil) 459.86/164.05 cons(mark(x0), x1) 459.86/164.05 cons(x0, mark(x1)) 459.86/164.05 cons(active(x0), x1) 459.86/164.05 cons(x0, active(x1)) 459.86/164.05 U11(mark(x0), x1) 459.86/164.05 U11(x0, mark(x1)) 459.86/164.05 U11(active(x0), x1) 459.86/164.05 U11(x0, active(x1)) 459.86/164.05 U12(mark(x0), x1) 459.86/164.05 U12(x0, mark(x1)) 459.86/164.05 U12(active(x0), x1) 459.86/164.05 U12(x0, active(x1)) 459.86/164.05 isNatIListKind(mark(x0)) 459.86/164.05 isNatIListKind(active(x0)) 459.86/164.05 U13(mark(x0)) 459.86/164.05 U13(active(x0)) 459.86/164.05 isNatList(mark(x0)) 459.86/164.05 isNatList(active(x0)) 459.86/164.05 U21(mark(x0), x1) 459.86/164.05 U21(x0, mark(x1)) 459.86/164.05 U21(active(x0), x1) 459.86/164.05 U21(x0, active(x1)) 459.86/164.05 U22(mark(x0), x1) 459.86/164.05 U22(x0, mark(x1)) 459.86/164.05 U22(active(x0), x1) 459.86/164.05 U22(x0, active(x1)) 459.86/164.05 isNatKind(mark(x0)) 459.86/164.05 isNatKind(active(x0)) 459.86/164.05 U23(mark(x0)) 459.86/164.05 U23(active(x0)) 459.86/164.05 isNat(mark(x0)) 459.86/164.05 isNat(active(x0)) 459.86/164.05 U31(mark(x0), x1) 459.86/164.05 U31(x0, mark(x1)) 459.86/164.05 U31(active(x0), x1) 459.86/164.05 U31(x0, active(x1)) 459.86/164.05 U32(mark(x0), x1) 459.86/164.05 U32(x0, mark(x1)) 459.86/164.05 U32(active(x0), x1) 459.86/164.05 U32(x0, active(x1)) 459.86/164.05 U33(mark(x0)) 459.86/164.05 U33(active(x0)) 459.86/164.05 U41(mark(x0), x1, x2) 459.86/164.05 U41(x0, mark(x1), x2) 459.86/164.05 U41(x0, x1, mark(x2)) 459.86/164.05 U41(active(x0), x1, x2) 459.86/164.05 U41(x0, active(x1), x2) 459.86/164.05 U41(x0, x1, active(x2)) 459.86/164.05 U42(mark(x0), x1, x2) 459.86/164.05 U42(x0, mark(x1), x2) 459.86/164.05 U42(x0, x1, mark(x2)) 459.86/164.05 U42(active(x0), x1, x2) 459.86/164.05 U42(x0, active(x1), x2) 459.86/164.05 U42(x0, x1, active(x2)) 459.86/164.05 U43(mark(x0), x1, x2) 459.86/164.05 U43(x0, mark(x1), x2) 459.86/164.05 U43(x0, x1, mark(x2)) 459.86/164.05 U43(active(x0), x1, x2) 459.86/164.05 U43(x0, active(x1), x2) 459.86/164.05 U43(x0, x1, active(x2)) 459.86/164.05 U44(mark(x0), x1, x2) 459.86/164.05 U44(x0, mark(x1), x2) 459.86/164.05 U44(x0, x1, mark(x2)) 459.86/164.05 U44(active(x0), x1, x2) 459.86/164.05 U44(x0, active(x1), x2) 459.86/164.05 U44(x0, x1, active(x2)) 459.86/164.05 U45(mark(x0), x1) 459.86/164.05 U45(x0, mark(x1)) 459.86/164.05 U45(active(x0), x1) 459.86/164.05 U45(x0, active(x1)) 459.86/164.05 U46(mark(x0)) 459.86/164.05 U46(active(x0)) 459.86/164.05 isNatIList(mark(x0)) 459.86/164.05 isNatIList(active(x0)) 459.86/164.05 U51(mark(x0), x1) 459.86/164.05 U51(x0, mark(x1)) 459.86/164.05 U51(active(x0), x1) 459.86/164.05 U51(x0, active(x1)) 459.86/164.05 U52(mark(x0)) 459.86/164.05 U52(active(x0)) 459.86/164.05 U61(mark(x0)) 459.86/164.05 U61(active(x0)) 459.86/164.05 U71(mark(x0)) 459.86/164.05 U71(active(x0)) 459.86/164.05 U81(mark(x0), x1, x2) 459.86/164.05 U81(x0, mark(x1), x2) 459.86/164.05 U81(x0, x1, mark(x2)) 459.86/164.05 U81(active(x0), x1, x2) 459.86/164.05 U81(x0, active(x1), x2) 459.86/164.05 U81(x0, x1, active(x2)) 459.86/164.05 U82(mark(x0), x1, x2) 459.86/164.05 U82(x0, mark(x1), x2) 459.86/164.05 U82(x0, x1, mark(x2)) 459.86/164.05 U82(active(x0), x1, x2) 459.86/164.05 U82(x0, active(x1), x2) 459.86/164.05 U82(x0, x1, active(x2)) 459.86/164.05 U83(mark(x0), x1, x2) 459.86/164.05 U83(x0, mark(x1), x2) 459.86/164.05 U83(x0, x1, mark(x2)) 459.86/164.05 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (92) QReductionProof (EQUIVALENT) 459.86/164.05 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 459.86/164.05 459.86/164.05 cons(mark(x0), x1) 459.86/164.05 cons(x0, mark(x1)) 459.86/164.05 cons(active(x0), x1) 459.86/164.05 cons(x0, active(x1)) 459.86/164.05 U11(mark(x0), x1) 459.86/164.05 U11(x0, mark(x1)) 459.86/164.05 U11(active(x0), x1) 459.86/164.05 U11(x0, active(x1)) 459.86/164.05 U12(mark(x0), x1) 459.86/164.05 U12(x0, mark(x1)) 459.86/164.05 U12(active(x0), x1) 459.86/164.05 U12(x0, active(x1)) 459.86/164.05 isNatIListKind(mark(x0)) 459.86/164.05 isNatIListKind(active(x0)) 459.86/164.05 U13(mark(x0)) 459.86/164.05 U13(active(x0)) 459.86/164.05 isNatList(mark(x0)) 459.86/164.05 isNatList(active(x0)) 459.86/164.05 U21(mark(x0), x1) 459.86/164.05 U21(x0, mark(x1)) 459.86/164.05 U21(active(x0), x1) 459.86/164.05 U21(x0, active(x1)) 459.86/164.05 U22(mark(x0), x1) 459.86/164.05 U22(x0, mark(x1)) 459.86/164.05 U22(active(x0), x1) 459.86/164.05 U22(x0, active(x1)) 459.86/164.05 isNatKind(mark(x0)) 459.86/164.05 isNatKind(active(x0)) 459.86/164.05 U23(mark(x0)) 459.86/164.05 U23(active(x0)) 459.86/164.05 isNat(mark(x0)) 459.86/164.05 isNat(active(x0)) 459.86/164.05 U31(mark(x0), x1) 459.86/164.05 U31(x0, mark(x1)) 459.86/164.05 U31(active(x0), x1) 459.86/164.05 U31(x0, active(x1)) 459.86/164.05 U32(mark(x0), x1) 459.86/164.05 U32(x0, mark(x1)) 459.86/164.05 U32(active(x0), x1) 459.86/164.05 U32(x0, active(x1)) 459.86/164.05 U33(mark(x0)) 459.86/164.05 U33(active(x0)) 459.86/164.05 U41(mark(x0), x1, x2) 459.86/164.05 U41(x0, mark(x1), x2) 459.86/164.05 U41(x0, x1, mark(x2)) 459.86/164.05 U41(active(x0), x1, x2) 459.86/164.05 U41(x0, active(x1), x2) 459.86/164.05 U41(x0, x1, active(x2)) 459.86/164.05 U42(mark(x0), x1, x2) 459.86/164.05 U42(x0, mark(x1), x2) 459.86/164.05 U42(x0, x1, mark(x2)) 459.86/164.05 U42(active(x0), x1, x2) 459.86/164.05 U42(x0, active(x1), x2) 459.86/164.05 U42(x0, x1, active(x2)) 459.86/164.05 U43(mark(x0), x1, x2) 459.86/164.05 U43(x0, mark(x1), x2) 459.86/164.05 U43(x0, x1, mark(x2)) 459.86/164.05 U43(active(x0), x1, x2) 459.86/164.05 U43(x0, active(x1), x2) 459.86/164.05 U43(x0, x1, active(x2)) 459.86/164.05 U44(mark(x0), x1, x2) 459.86/164.05 U44(x0, mark(x1), x2) 459.86/164.05 U44(x0, x1, mark(x2)) 459.86/164.05 U44(active(x0), x1, x2) 459.86/164.05 U44(x0, active(x1), x2) 459.86/164.05 U44(x0, x1, active(x2)) 459.86/164.05 U45(mark(x0), x1) 459.86/164.05 U45(x0, mark(x1)) 459.86/164.05 U45(active(x0), x1) 459.86/164.05 U45(x0, active(x1)) 459.86/164.05 U46(mark(x0)) 459.86/164.05 U46(active(x0)) 459.86/164.05 isNatIList(mark(x0)) 459.86/164.05 isNatIList(active(x0)) 459.86/164.05 U51(mark(x0), x1) 459.86/164.05 U51(x0, mark(x1)) 459.86/164.05 U51(active(x0), x1) 459.86/164.05 U51(x0, active(x1)) 459.86/164.05 U52(mark(x0)) 459.86/164.05 U52(active(x0)) 459.86/164.05 U61(mark(x0)) 459.86/164.05 U61(active(x0)) 459.86/164.05 U71(mark(x0)) 459.86/164.05 U71(active(x0)) 459.86/164.05 U81(mark(x0), x1, x2) 459.86/164.05 U81(x0, mark(x1), x2) 459.86/164.05 U81(x0, x1, mark(x2)) 459.86/164.05 U81(active(x0), x1, x2) 459.86/164.05 U81(x0, active(x1), x2) 459.86/164.05 U81(x0, x1, active(x2)) 459.86/164.05 U82(mark(x0), x1, x2) 459.86/164.05 U82(x0, mark(x1), x2) 459.86/164.05 U82(x0, x1, mark(x2)) 459.86/164.05 U82(active(x0), x1, x2) 459.86/164.05 U82(x0, active(x1), x2) 459.86/164.05 U82(x0, x1, active(x2)) 459.86/164.05 U83(mark(x0), x1, x2) 459.86/164.05 U83(x0, mark(x1), x2) 459.86/164.05 U83(x0, x1, mark(x2)) 459.86/164.05 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (93) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U71^1(active(X)) -> U71^1(X) 459.86/164.05 U71^1(mark(X)) -> U71^1(X) 459.86/164.05 459.86/164.05 R is empty. 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 459.86/164.05 active(isNatKind(s(x0))) 459.86/164.05 active(isNatList(nil)) 459.86/164.05 active(isNatList(cons(x0, x1))) 459.86/164.05 active(length(nil)) 459.86/164.05 active(length(cons(x0, x1))) 459.86/164.05 mark(zeros) 459.86/164.05 mark(cons(x0, x1)) 459.86/164.05 mark(0) 459.86/164.05 mark(U11(x0, x1)) 459.86/164.05 mark(tt) 459.86/164.05 mark(U12(x0, x1)) 459.86/164.05 mark(isNatIListKind(x0)) 459.86/164.05 mark(U13(x0)) 459.86/164.05 mark(isNatList(x0)) 459.86/164.05 mark(U21(x0, x1)) 459.86/164.05 mark(U22(x0, x1)) 459.86/164.05 mark(isNatKind(x0)) 459.86/164.05 mark(U23(x0)) 459.86/164.05 mark(isNat(x0)) 459.86/164.05 mark(U31(x0, x1)) 459.86/164.05 mark(U32(x0, x1)) 459.86/164.05 mark(U33(x0)) 459.86/164.05 mark(U41(x0, x1, x2)) 459.86/164.05 mark(U42(x0, x1, x2)) 459.86/164.05 mark(U43(x0, x1, x2)) 459.86/164.05 mark(U44(x0, x1, x2)) 459.86/164.05 mark(U45(x0, x1)) 459.86/164.05 mark(U46(x0)) 459.86/164.05 mark(isNatIList(x0)) 459.86/164.05 mark(U51(x0, x1)) 459.86/164.05 mark(U52(x0)) 459.86/164.05 mark(U61(x0)) 459.86/164.05 mark(U71(x0)) 459.86/164.05 mark(U81(x0, x1, x2)) 459.86/164.05 mark(U82(x0, x1, x2)) 459.86/164.05 mark(U83(x0, x1, x2)) 459.86/164.05 mark(U84(x0, x1, x2)) 459.86/164.05 mark(U85(x0, x1)) 459.86/164.05 mark(U86(x0)) 459.86/164.05 mark(U91(x0, x1, x2)) 459.86/164.05 mark(U92(x0, x1, x2)) 459.86/164.05 mark(U93(x0, x1, x2)) 459.86/164.05 mark(U94(x0, x1)) 459.86/164.05 mark(s(x0)) 459.86/164.05 mark(length(x0)) 459.86/164.05 mark(nil) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (94) QDPSizeChangeProof (EQUIVALENT) 459.86/164.05 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. 459.86/164.05 459.86/164.05 From the DPs we obtained the following set of size-change graphs: 459.86/164.05 *U71^1(active(X)) -> U71^1(X) 459.86/164.05 The graph contains the following edges 1 > 1 459.86/164.05 459.86/164.05 459.86/164.05 *U71^1(mark(X)) -> U71^1(X) 459.86/164.05 The graph contains the following edges 1 > 1 459.86/164.05 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (95) 459.86/164.05 YES 459.86/164.05 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (96) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U61^1(active(X)) -> U61^1(X) 459.86/164.05 U61^1(mark(X)) -> U61^1(X) 459.86/164.05 459.86/164.05 The TRS R consists of the following rules: 459.86/164.05 459.86/164.05 active(zeros) -> mark(cons(0, zeros)) 459.86/164.05 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 459.86/164.05 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 459.86/164.05 active(U13(tt)) -> mark(tt) 459.86/164.05 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 459.86/164.05 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 459.86/164.05 active(U23(tt)) -> mark(tt) 459.86/164.05 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 459.86/164.05 active(U32(tt, V)) -> mark(U33(isNatList(V))) 459.86/164.05 active(U33(tt)) -> mark(tt) 459.86/164.05 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 459.86/164.05 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 459.86/164.05 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 459.86/164.05 active(U46(tt)) -> mark(tt) 459.86/164.05 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 459.86/164.05 active(U52(tt)) -> mark(tt) 459.86/164.05 active(U61(tt)) -> mark(tt) 459.86/164.05 active(U71(tt)) -> mark(tt) 459.86/164.05 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 459.86/164.05 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 459.86/164.05 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 459.86/164.05 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 459.86/164.05 active(U86(tt)) -> mark(tt) 459.86/164.05 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 459.86/164.05 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 459.86/164.05 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 459.86/164.05 active(U94(tt, L)) -> mark(s(length(L))) 459.86/164.05 active(isNat(0)) -> mark(tt) 459.86/164.05 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 459.86/164.05 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 459.86/164.05 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 459.86/164.05 active(isNatIList(zeros)) -> mark(tt) 459.86/164.05 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 459.86/164.05 active(isNatIListKind(nil)) -> mark(tt) 459.86/164.05 active(isNatIListKind(zeros)) -> mark(tt) 459.86/164.05 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 459.86/164.05 active(isNatKind(0)) -> mark(tt) 459.86/164.05 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 459.86/164.05 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 459.86/164.05 active(isNatList(nil)) -> mark(tt) 459.86/164.05 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 459.86/164.05 active(length(nil)) -> mark(0) 459.86/164.05 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 459.86/164.05 mark(zeros) -> active(zeros) 459.86/164.05 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 459.86/164.05 mark(0) -> active(0) 459.86/164.05 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 459.86/164.05 mark(tt) -> active(tt) 459.86/164.05 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 459.86/164.05 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 459.86/164.05 mark(U13(X)) -> active(U13(mark(X))) 459.86/164.05 mark(isNatList(X)) -> active(isNatList(X)) 459.86/164.05 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 459.86/164.05 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 459.86/164.05 mark(isNatKind(X)) -> active(isNatKind(X)) 459.86/164.05 mark(U23(X)) -> active(U23(mark(X))) 459.86/164.05 mark(isNat(X)) -> active(isNat(X)) 459.86/164.05 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 459.86/164.05 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 459.86/164.05 mark(U33(X)) -> active(U33(mark(X))) 459.86/164.05 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 459.86/164.05 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 459.86/164.05 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 459.86/164.05 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 459.86/164.05 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 459.86/164.05 mark(U46(X)) -> active(U46(mark(X))) 459.86/164.05 mark(isNatIList(X)) -> active(isNatIList(X)) 459.86/164.05 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 459.86/164.05 mark(U52(X)) -> active(U52(mark(X))) 459.86/164.05 mark(U61(X)) -> active(U61(mark(X))) 459.86/164.05 mark(U71(X)) -> active(U71(mark(X))) 459.86/164.05 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 459.86/164.05 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 459.86/164.05 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 459.86/164.05 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 459.86/164.05 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 459.86/164.05 mark(U86(X)) -> active(U86(mark(X))) 459.86/164.05 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 459.86/164.05 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 459.86/164.05 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 459.86/164.05 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 459.86/164.05 mark(s(X)) -> active(s(mark(X))) 459.86/164.05 mark(length(X)) -> active(length(mark(X))) 459.86/164.05 mark(nil) -> active(nil) 459.86/164.05 cons(mark(X1), X2) -> cons(X1, X2) 459.86/164.05 cons(X1, mark(X2)) -> cons(X1, X2) 459.86/164.05 cons(active(X1), X2) -> cons(X1, X2) 459.86/164.05 cons(X1, active(X2)) -> cons(X1, X2) 459.86/164.05 U11(mark(X1), X2) -> U11(X1, X2) 459.86/164.05 U11(X1, mark(X2)) -> U11(X1, X2) 459.86/164.05 U11(active(X1), X2) -> U11(X1, X2) 459.86/164.05 U11(X1, active(X2)) -> U11(X1, X2) 459.86/164.05 U12(mark(X1), X2) -> U12(X1, X2) 459.86/164.05 U12(X1, mark(X2)) -> U12(X1, X2) 459.86/164.05 U12(active(X1), X2) -> U12(X1, X2) 459.86/164.05 U12(X1, active(X2)) -> U12(X1, X2) 459.86/164.05 isNatIListKind(mark(X)) -> isNatIListKind(X) 459.86/164.05 isNatIListKind(active(X)) -> isNatIListKind(X) 459.86/164.05 U13(mark(X)) -> U13(X) 459.86/164.05 U13(active(X)) -> U13(X) 459.86/164.05 isNatList(mark(X)) -> isNatList(X) 459.86/164.05 isNatList(active(X)) -> isNatList(X) 459.86/164.05 U21(mark(X1), X2) -> U21(X1, X2) 459.86/164.05 U21(X1, mark(X2)) -> U21(X1, X2) 459.86/164.05 U21(active(X1), X2) -> U21(X1, X2) 459.86/164.05 U21(X1, active(X2)) -> U21(X1, X2) 459.86/164.05 U22(mark(X1), X2) -> U22(X1, X2) 459.86/164.05 U22(X1, mark(X2)) -> U22(X1, X2) 459.86/164.05 U22(active(X1), X2) -> U22(X1, X2) 459.86/164.05 U22(X1, active(X2)) -> U22(X1, X2) 459.86/164.05 isNatKind(mark(X)) -> isNatKind(X) 459.86/164.05 isNatKind(active(X)) -> isNatKind(X) 459.86/164.05 U23(mark(X)) -> U23(X) 459.86/164.05 U23(active(X)) -> U23(X) 459.86/164.05 isNat(mark(X)) -> isNat(X) 459.86/164.05 isNat(active(X)) -> isNat(X) 459.86/164.05 U31(mark(X1), X2) -> U31(X1, X2) 459.86/164.05 U31(X1, mark(X2)) -> U31(X1, X2) 459.86/164.05 U31(active(X1), X2) -> U31(X1, X2) 459.86/164.05 U31(X1, active(X2)) -> U31(X1, X2) 459.86/164.05 U32(mark(X1), X2) -> U32(X1, X2) 459.86/164.05 U32(X1, mark(X2)) -> U32(X1, X2) 459.86/164.05 U32(active(X1), X2) -> U32(X1, X2) 459.86/164.05 U32(X1, active(X2)) -> U32(X1, X2) 459.86/164.05 U33(mark(X)) -> U33(X) 459.86/164.05 U33(active(X)) -> U33(X) 459.86/164.05 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 459.86/164.05 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 459.86/164.05 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 459.86/164.05 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 459.86/164.05 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 459.86/164.05 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 459.86/164.05 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 459.86/164.05 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 459.86/164.05 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 459.86/164.05 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 459.86/164.05 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 459.86/164.05 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 459.86/164.05 U45(mark(X1), X2) -> U45(X1, X2) 459.86/164.05 U45(X1, mark(X2)) -> U45(X1, X2) 459.86/164.05 U45(active(X1), X2) -> U45(X1, X2) 459.86/164.05 U45(X1, active(X2)) -> U45(X1, X2) 459.86/164.05 U46(mark(X)) -> U46(X) 459.86/164.05 U46(active(X)) -> U46(X) 459.86/164.05 isNatIList(mark(X)) -> isNatIList(X) 459.86/164.05 isNatIList(active(X)) -> isNatIList(X) 459.86/164.05 U51(mark(X1), X2) -> U51(X1, X2) 459.86/164.05 U51(X1, mark(X2)) -> U51(X1, X2) 459.86/164.05 U51(active(X1), X2) -> U51(X1, X2) 459.86/164.05 U51(X1, active(X2)) -> U51(X1, X2) 459.86/164.05 U52(mark(X)) -> U52(X) 459.86/164.05 U52(active(X)) -> U52(X) 459.86/164.05 U61(mark(X)) -> U61(X) 459.86/164.05 U61(active(X)) -> U61(X) 459.86/164.05 U71(mark(X)) -> U71(X) 459.86/164.05 U71(active(X)) -> U71(X) 459.86/164.05 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 459.86/164.05 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 459.86/164.05 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 459.86/164.05 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 459.86/164.05 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 459.86/164.05 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 459.86/164.05 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 459.86/164.05 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 459.86/164.05 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 459.86/164.05 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 459.86/164.05 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 459.86/164.05 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 459.86/164.05 U85(mark(X1), X2) -> U85(X1, X2) 459.86/164.05 U85(X1, mark(X2)) -> U85(X1, X2) 459.86/164.05 U85(active(X1), X2) -> U85(X1, X2) 459.86/164.05 U85(X1, active(X2)) -> U85(X1, X2) 459.86/164.05 U86(mark(X)) -> U86(X) 459.86/164.05 U86(active(X)) -> U86(X) 459.86/164.05 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 459.86/164.05 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 459.86/164.05 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 459.86/164.05 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 459.86/164.05 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 459.86/164.05 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 459.86/164.05 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 459.86/164.05 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 459.86/164.05 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 459.86/164.05 U94(mark(X1), X2) -> U94(X1, X2) 459.86/164.05 U94(X1, mark(X2)) -> U94(X1, X2) 459.86/164.05 U94(active(X1), X2) -> U94(X1, X2) 459.86/164.05 U94(X1, active(X2)) -> U94(X1, X2) 459.86/164.05 s(mark(X)) -> s(X) 459.86/164.05 s(active(X)) -> s(X) 459.86/164.05 length(mark(X)) -> length(X) 459.86/164.05 length(active(X)) -> length(X) 459.86/164.05 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 459.86/164.05 active(isNatKind(s(x0))) 459.86/164.05 active(isNatList(nil)) 459.86/164.05 active(isNatList(cons(x0, x1))) 459.86/164.05 active(length(nil)) 459.86/164.05 active(length(cons(x0, x1))) 459.86/164.05 mark(zeros) 459.86/164.05 mark(cons(x0, x1)) 459.86/164.05 mark(0) 459.86/164.05 mark(U11(x0, x1)) 459.86/164.05 mark(tt) 459.86/164.05 mark(U12(x0, x1)) 459.86/164.05 mark(isNatIListKind(x0)) 459.86/164.05 mark(U13(x0)) 459.86/164.05 mark(isNatList(x0)) 459.86/164.05 mark(U21(x0, x1)) 459.86/164.05 mark(U22(x0, x1)) 459.86/164.05 mark(isNatKind(x0)) 459.86/164.05 mark(U23(x0)) 459.86/164.05 mark(isNat(x0)) 459.86/164.05 mark(U31(x0, x1)) 459.86/164.05 mark(U32(x0, x1)) 459.86/164.05 mark(U33(x0)) 459.86/164.05 mark(U41(x0, x1, x2)) 459.86/164.05 mark(U42(x0, x1, x2)) 459.86/164.05 mark(U43(x0, x1, x2)) 459.86/164.05 mark(U44(x0, x1, x2)) 459.86/164.05 mark(U45(x0, x1)) 459.86/164.05 mark(U46(x0)) 459.86/164.05 mark(isNatIList(x0)) 459.86/164.05 mark(U51(x0, x1)) 459.86/164.05 mark(U52(x0)) 459.86/164.05 mark(U61(x0)) 459.86/164.05 mark(U71(x0)) 459.86/164.05 mark(U81(x0, x1, x2)) 459.86/164.05 mark(U82(x0, x1, x2)) 459.86/164.05 mark(U83(x0, x1, x2)) 459.86/164.05 mark(U84(x0, x1, x2)) 459.86/164.05 mark(U85(x0, x1)) 459.86/164.05 mark(U86(x0)) 459.86/164.05 mark(U91(x0, x1, x2)) 459.86/164.05 mark(U92(x0, x1, x2)) 459.86/164.05 mark(U93(x0, x1, x2)) 459.86/164.05 mark(U94(x0, x1)) 459.86/164.05 mark(s(x0)) 459.86/164.05 mark(length(x0)) 459.86/164.05 mark(nil) 459.86/164.05 cons(mark(x0), x1) 459.86/164.05 cons(x0, mark(x1)) 459.86/164.05 cons(active(x0), x1) 459.86/164.05 cons(x0, active(x1)) 459.86/164.05 U11(mark(x0), x1) 459.86/164.05 U11(x0, mark(x1)) 459.86/164.05 U11(active(x0), x1) 459.86/164.05 U11(x0, active(x1)) 459.86/164.05 U12(mark(x0), x1) 459.86/164.05 U12(x0, mark(x1)) 459.86/164.05 U12(active(x0), x1) 459.86/164.05 U12(x0, active(x1)) 459.86/164.05 isNatIListKind(mark(x0)) 459.86/164.05 isNatIListKind(active(x0)) 459.86/164.05 U13(mark(x0)) 459.86/164.05 U13(active(x0)) 459.86/164.05 isNatList(mark(x0)) 459.86/164.05 isNatList(active(x0)) 459.86/164.05 U21(mark(x0), x1) 459.86/164.05 U21(x0, mark(x1)) 459.86/164.05 U21(active(x0), x1) 459.86/164.05 U21(x0, active(x1)) 459.86/164.05 U22(mark(x0), x1) 459.86/164.05 U22(x0, mark(x1)) 459.86/164.05 U22(active(x0), x1) 459.86/164.05 U22(x0, active(x1)) 459.86/164.05 isNatKind(mark(x0)) 459.86/164.05 isNatKind(active(x0)) 459.86/164.05 U23(mark(x0)) 459.86/164.05 U23(active(x0)) 459.86/164.05 isNat(mark(x0)) 459.86/164.05 isNat(active(x0)) 459.86/164.05 U31(mark(x0), x1) 459.86/164.05 U31(x0, mark(x1)) 459.86/164.05 U31(active(x0), x1) 459.86/164.05 U31(x0, active(x1)) 459.86/164.05 U32(mark(x0), x1) 459.86/164.05 U32(x0, mark(x1)) 459.86/164.05 U32(active(x0), x1) 459.86/164.05 U32(x0, active(x1)) 459.86/164.05 U33(mark(x0)) 459.86/164.05 U33(active(x0)) 459.86/164.05 U41(mark(x0), x1, x2) 459.86/164.05 U41(x0, mark(x1), x2) 459.86/164.05 U41(x0, x1, mark(x2)) 459.86/164.05 U41(active(x0), x1, x2) 459.86/164.05 U41(x0, active(x1), x2) 459.86/164.05 U41(x0, x1, active(x2)) 459.86/164.05 U42(mark(x0), x1, x2) 459.86/164.05 U42(x0, mark(x1), x2) 459.86/164.05 U42(x0, x1, mark(x2)) 459.86/164.05 U42(active(x0), x1, x2) 459.86/164.05 U42(x0, active(x1), x2) 459.86/164.05 U42(x0, x1, active(x2)) 459.86/164.05 U43(mark(x0), x1, x2) 459.86/164.05 U43(x0, mark(x1), x2) 459.86/164.05 U43(x0, x1, mark(x2)) 459.86/164.05 U43(active(x0), x1, x2) 459.86/164.05 U43(x0, active(x1), x2) 459.86/164.05 U43(x0, x1, active(x2)) 459.86/164.05 U44(mark(x0), x1, x2) 459.86/164.05 U44(x0, mark(x1), x2) 459.86/164.05 U44(x0, x1, mark(x2)) 459.86/164.05 U44(active(x0), x1, x2) 459.86/164.05 U44(x0, active(x1), x2) 459.86/164.05 U44(x0, x1, active(x2)) 459.86/164.05 U45(mark(x0), x1) 459.86/164.05 U45(x0, mark(x1)) 459.86/164.05 U45(active(x0), x1) 459.86/164.05 U45(x0, active(x1)) 459.86/164.05 U46(mark(x0)) 459.86/164.05 U46(active(x0)) 459.86/164.05 isNatIList(mark(x0)) 459.86/164.05 isNatIList(active(x0)) 459.86/164.05 U51(mark(x0), x1) 459.86/164.05 U51(x0, mark(x1)) 459.86/164.05 U51(active(x0), x1) 459.86/164.05 U51(x0, active(x1)) 459.86/164.05 U52(mark(x0)) 459.86/164.05 U52(active(x0)) 459.86/164.05 U61(mark(x0)) 459.86/164.05 U61(active(x0)) 459.86/164.05 U71(mark(x0)) 459.86/164.05 U71(active(x0)) 459.86/164.05 U81(mark(x0), x1, x2) 459.86/164.05 U81(x0, mark(x1), x2) 459.86/164.05 U81(x0, x1, mark(x2)) 459.86/164.05 U81(active(x0), x1, x2) 459.86/164.05 U81(x0, active(x1), x2) 459.86/164.05 U81(x0, x1, active(x2)) 459.86/164.05 U82(mark(x0), x1, x2) 459.86/164.05 U82(x0, mark(x1), x2) 459.86/164.05 U82(x0, x1, mark(x2)) 459.86/164.05 U82(active(x0), x1, x2) 459.86/164.05 U82(x0, active(x1), x2) 459.86/164.05 U82(x0, x1, active(x2)) 459.86/164.05 U83(mark(x0), x1, x2) 459.86/164.05 U83(x0, mark(x1), x2) 459.86/164.05 U83(x0, x1, mark(x2)) 459.86/164.05 U83(active(x0), x1, x2) 459.86/164.05 U83(x0, active(x1), x2) 459.86/164.05 U83(x0, x1, active(x2)) 459.86/164.05 U84(mark(x0), x1, x2) 459.86/164.05 U84(x0, mark(x1), x2) 459.86/164.05 U84(x0, x1, mark(x2)) 459.86/164.05 U84(active(x0), x1, x2) 459.86/164.05 U84(x0, active(x1), x2) 459.86/164.05 U84(x0, x1, active(x2)) 459.86/164.05 U85(mark(x0), x1) 459.86/164.05 U85(x0, mark(x1)) 459.86/164.05 U85(active(x0), x1) 459.86/164.05 U85(x0, active(x1)) 459.86/164.05 U86(mark(x0)) 459.86/164.05 U86(active(x0)) 459.86/164.05 U91(mark(x0), x1, x2) 459.86/164.05 U91(x0, mark(x1), x2) 459.86/164.05 U91(x0, x1, mark(x2)) 459.86/164.05 U91(active(x0), x1, x2) 459.86/164.05 U91(x0, active(x1), x2) 459.86/164.05 U91(x0, x1, active(x2)) 459.86/164.05 U92(mark(x0), x1, x2) 459.86/164.05 U92(x0, mark(x1), x2) 459.86/164.05 U92(x0, x1, mark(x2)) 459.86/164.05 U92(active(x0), x1, x2) 459.86/164.05 U92(x0, active(x1), x2) 459.86/164.05 U92(x0, x1, active(x2)) 459.86/164.05 U93(mark(x0), x1, x2) 459.86/164.05 U93(x0, mark(x1), x2) 459.86/164.05 U93(x0, x1, mark(x2)) 459.86/164.05 U93(active(x0), x1, x2) 459.86/164.05 U93(x0, active(x1), x2) 459.86/164.05 U93(x0, x1, active(x2)) 459.86/164.05 U94(mark(x0), x1) 459.86/164.05 U94(x0, mark(x1)) 459.86/164.05 U94(active(x0), x1) 459.86/164.05 U94(x0, active(x1)) 459.86/164.05 s(mark(x0)) 459.86/164.05 s(active(x0)) 459.86/164.05 length(mark(x0)) 459.86/164.05 length(active(x0)) 459.86/164.05 459.86/164.05 We have to consider all minimal (P,Q,R)-chains. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (97) UsableRulesProof (EQUIVALENT) 459.86/164.05 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. 459.86/164.05 ---------------------------------------- 459.86/164.05 459.86/164.05 (98) 459.86/164.05 Obligation: 459.86/164.05 Q DP problem: 459.86/164.05 The TRS P consists of the following rules: 459.86/164.05 459.86/164.05 U61^1(active(X)) -> U61^1(X) 459.86/164.05 U61^1(mark(X)) -> U61^1(X) 459.86/164.05 459.86/164.05 R is empty. 459.86/164.05 The set Q consists of the following terms: 459.86/164.05 459.86/164.05 active(zeros) 459.86/164.05 active(U11(tt, x0)) 459.86/164.05 active(U12(tt, x0)) 459.86/164.05 active(U13(tt)) 459.86/164.05 active(U21(tt, x0)) 459.86/164.05 active(U22(tt, x0)) 459.86/164.05 active(U23(tt)) 459.86/164.05 active(U31(tt, x0)) 459.86/164.05 active(U32(tt, x0)) 459.86/164.05 active(U33(tt)) 459.86/164.05 active(U41(tt, x0, x1)) 459.86/164.05 active(U42(tt, x0, x1)) 459.86/164.05 active(U43(tt, x0, x1)) 459.86/164.05 active(U44(tt, x0, x1)) 459.86/164.05 active(U45(tt, x0)) 459.86/164.05 active(U46(tt)) 459.86/164.05 active(U51(tt, x0)) 459.86/164.05 active(U52(tt)) 459.86/164.05 active(U61(tt)) 459.86/164.05 active(U71(tt)) 459.86/164.05 active(U81(tt, x0, x1)) 459.86/164.05 active(U82(tt, x0, x1)) 459.86/164.05 active(U83(tt, x0, x1)) 459.86/164.05 active(U84(tt, x0, x1)) 459.86/164.05 active(U85(tt, x0)) 459.86/164.05 active(U86(tt)) 459.86/164.05 active(U91(tt, x0, x1)) 459.86/164.05 active(U92(tt, x0, x1)) 459.86/164.05 active(U93(tt, x0, x1)) 459.86/164.05 active(U94(tt, x0)) 459.86/164.05 active(isNat(0)) 459.86/164.05 active(isNat(length(x0))) 459.86/164.05 active(isNat(s(x0))) 459.86/164.05 active(isNatIList(x0)) 459.86/164.05 active(isNatIListKind(nil)) 459.86/164.05 active(isNatIListKind(zeros)) 459.86/164.05 active(isNatIListKind(cons(x0, x1))) 459.86/164.05 active(isNatKind(0)) 459.86/164.05 active(isNatKind(length(x0))) 460.09/164.08 active(isNatKind(s(x0))) 460.09/164.08 active(isNatList(nil)) 460.09/164.08 active(isNatList(cons(x0, x1))) 460.09/164.08 active(length(nil)) 460.09/164.08 active(length(cons(x0, x1))) 460.09/164.08 mark(zeros) 460.09/164.08 mark(cons(x0, x1)) 460.09/164.08 mark(0) 460.09/164.08 mark(U11(x0, x1)) 460.09/164.08 mark(tt) 460.09/164.08 mark(U12(x0, x1)) 460.09/164.08 mark(isNatIListKind(x0)) 460.09/164.08 mark(U13(x0)) 460.09/164.08 mark(isNatList(x0)) 460.09/164.08 mark(U21(x0, x1)) 460.09/164.08 mark(U22(x0, x1)) 460.09/164.08 mark(isNatKind(x0)) 460.09/164.08 mark(U23(x0)) 460.09/164.08 mark(isNat(x0)) 460.09/164.08 mark(U31(x0, x1)) 460.09/164.08 mark(U32(x0, x1)) 460.09/164.08 mark(U33(x0)) 460.09/164.08 mark(U41(x0, x1, x2)) 460.09/164.08 mark(U42(x0, x1, x2)) 460.09/164.08 mark(U43(x0, x1, x2)) 460.09/164.08 mark(U44(x0, x1, x2)) 460.09/164.08 mark(U45(x0, x1)) 460.09/164.08 mark(U46(x0)) 460.09/164.08 mark(isNatIList(x0)) 460.09/164.08 mark(U51(x0, x1)) 460.09/164.08 mark(U52(x0)) 460.09/164.08 mark(U61(x0)) 460.09/164.08 mark(U71(x0)) 460.09/164.08 mark(U81(x0, x1, x2)) 460.09/164.08 mark(U82(x0, x1, x2)) 460.09/164.08 mark(U83(x0, x1, x2)) 460.09/164.08 mark(U84(x0, x1, x2)) 460.09/164.08 mark(U85(x0, x1)) 460.09/164.08 mark(U86(x0)) 460.09/164.08 mark(U91(x0, x1, x2)) 460.09/164.08 mark(U92(x0, x1, x2)) 460.09/164.08 mark(U93(x0, x1, x2)) 460.09/164.08 mark(U94(x0, x1)) 460.09/164.08 mark(s(x0)) 460.09/164.08 mark(length(x0)) 460.09/164.08 mark(nil) 460.09/164.08 cons(mark(x0), x1) 460.09/164.08 cons(x0, mark(x1)) 460.09/164.08 cons(active(x0), x1) 460.09/164.08 cons(x0, active(x1)) 460.09/164.08 U11(mark(x0), x1) 460.09/164.08 U11(x0, mark(x1)) 460.09/164.08 U11(active(x0), x1) 460.09/164.08 U11(x0, active(x1)) 460.09/164.08 U12(mark(x0), x1) 460.09/164.08 U12(x0, mark(x1)) 460.09/164.08 U12(active(x0), x1) 460.09/164.08 U12(x0, active(x1)) 460.09/164.08 isNatIListKind(mark(x0)) 460.09/164.08 isNatIListKind(active(x0)) 460.09/164.08 U13(mark(x0)) 460.09/164.08 U13(active(x0)) 460.09/164.08 isNatList(mark(x0)) 460.09/164.08 isNatList(active(x0)) 460.09/164.08 U21(mark(x0), x1) 460.09/164.08 U21(x0, mark(x1)) 460.09/164.08 U21(active(x0), x1) 460.09/164.08 U21(x0, active(x1)) 460.09/164.08 U22(mark(x0), x1) 460.09/164.08 U22(x0, mark(x1)) 460.09/164.08 U22(active(x0), x1) 460.09/164.08 U22(x0, active(x1)) 460.09/164.08 isNatKind(mark(x0)) 460.09/164.08 isNatKind(active(x0)) 460.09/164.08 U23(mark(x0)) 460.09/164.08 U23(active(x0)) 460.09/164.08 isNat(mark(x0)) 460.09/164.08 isNat(active(x0)) 460.09/164.08 U31(mark(x0), x1) 460.09/164.08 U31(x0, mark(x1)) 460.09/164.08 U31(active(x0), x1) 460.09/164.08 U31(x0, active(x1)) 460.09/164.08 U32(mark(x0), x1) 460.09/164.08 U32(x0, mark(x1)) 460.09/164.08 U32(active(x0), x1) 460.09/164.08 U32(x0, active(x1)) 460.09/164.08 U33(mark(x0)) 460.09/164.08 U33(active(x0)) 460.09/164.08 U41(mark(x0), x1, x2) 460.09/164.08 U41(x0, mark(x1), x2) 460.09/164.08 U41(x0, x1, mark(x2)) 460.09/164.08 U41(active(x0), x1, x2) 460.09/164.08 U41(x0, active(x1), x2) 460.09/164.08 U41(x0, x1, active(x2)) 460.09/164.08 U42(mark(x0), x1, x2) 460.09/164.08 U42(x0, mark(x1), x2) 460.09/164.08 U42(x0, x1, mark(x2)) 460.09/164.08 U42(active(x0), x1, x2) 460.09/164.08 U42(x0, active(x1), x2) 460.09/164.08 U42(x0, x1, active(x2)) 460.09/164.08 U43(mark(x0), x1, x2) 460.09/164.08 U43(x0, mark(x1), x2) 460.09/164.08 U43(x0, x1, mark(x2)) 460.09/164.08 U43(active(x0), x1, x2) 460.09/164.08 U43(x0, active(x1), x2) 460.09/164.08 U43(x0, x1, active(x2)) 460.09/164.08 U44(mark(x0), x1, x2) 460.09/164.08 U44(x0, mark(x1), x2) 460.09/164.08 U44(x0, x1, mark(x2)) 460.09/164.08 U44(active(x0), x1, x2) 460.09/164.08 U44(x0, active(x1), x2) 460.09/164.08 U44(x0, x1, active(x2)) 460.09/164.08 U45(mark(x0), x1) 460.09/164.08 U45(x0, mark(x1)) 460.09/164.08 U45(active(x0), x1) 460.09/164.08 U45(x0, active(x1)) 460.09/164.08 U46(mark(x0)) 460.09/164.08 U46(active(x0)) 460.09/164.08 isNatIList(mark(x0)) 460.09/164.08 isNatIList(active(x0)) 460.09/164.08 U51(mark(x0), x1) 460.09/164.08 U51(x0, mark(x1)) 460.09/164.08 U51(active(x0), x1) 460.09/164.08 U51(x0, active(x1)) 460.09/164.08 U52(mark(x0)) 460.09/164.08 U52(active(x0)) 460.09/164.08 U61(mark(x0)) 460.09/164.08 U61(active(x0)) 460.09/164.08 U71(mark(x0)) 460.09/164.08 U71(active(x0)) 460.09/164.08 U81(mark(x0), x1, x2) 460.09/164.08 U81(x0, mark(x1), x2) 460.09/164.08 U81(x0, x1, mark(x2)) 460.09/164.08 U81(active(x0), x1, x2) 460.09/164.08 U81(x0, active(x1), x2) 460.09/164.08 U81(x0, x1, active(x2)) 460.09/164.08 U82(mark(x0), x1, x2) 460.09/164.08 U82(x0, mark(x1), x2) 460.09/164.08 U82(x0, x1, mark(x2)) 460.09/164.08 U82(active(x0), x1, x2) 460.09/164.08 U82(x0, active(x1), x2) 460.09/164.08 U82(x0, x1, active(x2)) 460.09/164.08 U83(mark(x0), x1, x2) 460.09/164.08 U83(x0, mark(x1), x2) 460.09/164.08 U83(x0, x1, mark(x2)) 460.09/164.08 U83(active(x0), x1, x2) 460.09/164.08 U83(x0, active(x1), x2) 460.09/164.08 U83(x0, x1, active(x2)) 460.09/164.08 U84(mark(x0), x1, x2) 460.09/164.08 U84(x0, mark(x1), x2) 460.09/164.08 U84(x0, x1, mark(x2)) 460.09/164.08 U84(active(x0), x1, x2) 460.09/164.08 U84(x0, active(x1), x2) 460.09/164.08 U84(x0, x1, active(x2)) 460.09/164.08 U85(mark(x0), x1) 460.09/164.08 U85(x0, mark(x1)) 460.09/164.08 U85(active(x0), x1) 460.09/164.08 U85(x0, active(x1)) 460.09/164.08 U86(mark(x0)) 460.09/164.08 U86(active(x0)) 460.09/164.08 U91(mark(x0), x1, x2) 460.09/164.08 U91(x0, mark(x1), x2) 460.09/164.08 U91(x0, x1, mark(x2)) 460.09/164.08 U91(active(x0), x1, x2) 460.09/164.08 U91(x0, active(x1), x2) 460.09/164.08 U91(x0, x1, active(x2)) 460.09/164.08 U92(mark(x0), x1, x2) 460.09/164.08 U92(x0, mark(x1), x2) 460.09/164.08 U92(x0, x1, mark(x2)) 460.09/164.08 U92(active(x0), x1, x2) 460.09/164.08 U92(x0, active(x1), x2) 460.09/164.08 U92(x0, x1, active(x2)) 460.09/164.08 U93(mark(x0), x1, x2) 460.09/164.08 U93(x0, mark(x1), x2) 460.09/164.08 U93(x0, x1, mark(x2)) 460.09/164.08 U93(active(x0), x1, x2) 460.09/164.08 U93(x0, active(x1), x2) 460.09/164.08 U93(x0, x1, active(x2)) 460.09/164.08 U94(mark(x0), x1) 460.09/164.08 U94(x0, mark(x1)) 460.09/164.08 U94(active(x0), x1) 460.09/164.08 U94(x0, active(x1)) 460.09/164.08 s(mark(x0)) 460.09/164.08 s(active(x0)) 460.09/164.08 length(mark(x0)) 460.09/164.08 length(active(x0)) 460.09/164.08 460.09/164.08 We have to consider all minimal (P,Q,R)-chains. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (99) QReductionProof (EQUIVALENT) 460.09/164.08 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.08 460.09/164.08 cons(mark(x0), x1) 460.09/164.08 cons(x0, mark(x1)) 460.09/164.08 cons(active(x0), x1) 460.09/164.08 cons(x0, active(x1)) 460.09/164.08 U11(mark(x0), x1) 460.09/164.08 U11(x0, mark(x1)) 460.09/164.08 U11(active(x0), x1) 460.09/164.08 U11(x0, active(x1)) 460.09/164.08 U12(mark(x0), x1) 460.09/164.08 U12(x0, mark(x1)) 460.09/164.08 U12(active(x0), x1) 460.09/164.08 U12(x0, active(x1)) 460.09/164.08 isNatIListKind(mark(x0)) 460.09/164.08 isNatIListKind(active(x0)) 460.09/164.08 U13(mark(x0)) 460.09/164.08 U13(active(x0)) 460.09/164.08 isNatList(mark(x0)) 460.09/164.08 isNatList(active(x0)) 460.09/164.08 U21(mark(x0), x1) 460.09/164.08 U21(x0, mark(x1)) 460.09/164.08 U21(active(x0), x1) 460.09/164.08 U21(x0, active(x1)) 460.09/164.08 U22(mark(x0), x1) 460.09/164.08 U22(x0, mark(x1)) 460.09/164.08 U22(active(x0), x1) 460.09/164.08 U22(x0, active(x1)) 460.09/164.08 isNatKind(mark(x0)) 460.09/164.08 isNatKind(active(x0)) 460.09/164.08 U23(mark(x0)) 460.09/164.08 U23(active(x0)) 460.09/164.08 isNat(mark(x0)) 460.09/164.08 isNat(active(x0)) 460.09/164.08 U31(mark(x0), x1) 460.09/164.08 U31(x0, mark(x1)) 460.09/164.08 U31(active(x0), x1) 460.09/164.08 U31(x0, active(x1)) 460.09/164.08 U32(mark(x0), x1) 460.09/164.08 U32(x0, mark(x1)) 460.09/164.08 U32(active(x0), x1) 460.09/164.08 U32(x0, active(x1)) 460.09/164.08 U33(mark(x0)) 460.09/164.08 U33(active(x0)) 460.09/164.08 U41(mark(x0), x1, x2) 460.09/164.08 U41(x0, mark(x1), x2) 460.09/164.08 U41(x0, x1, mark(x2)) 460.09/164.08 U41(active(x0), x1, x2) 460.09/164.08 U41(x0, active(x1), x2) 460.09/164.08 U41(x0, x1, active(x2)) 460.09/164.08 U42(mark(x0), x1, x2) 460.09/164.08 U42(x0, mark(x1), x2) 460.09/164.08 U42(x0, x1, mark(x2)) 460.09/164.08 U42(active(x0), x1, x2) 460.09/164.08 U42(x0, active(x1), x2) 460.09/164.08 U42(x0, x1, active(x2)) 460.09/164.08 U43(mark(x0), x1, x2) 460.09/164.08 U43(x0, mark(x1), x2) 460.09/164.08 U43(x0, x1, mark(x2)) 460.09/164.08 U43(active(x0), x1, x2) 460.09/164.08 U43(x0, active(x1), x2) 460.09/164.08 U43(x0, x1, active(x2)) 460.09/164.08 U44(mark(x0), x1, x2) 460.09/164.08 U44(x0, mark(x1), x2) 460.09/164.08 U44(x0, x1, mark(x2)) 460.09/164.08 U44(active(x0), x1, x2) 460.09/164.08 U44(x0, active(x1), x2) 460.09/164.08 U44(x0, x1, active(x2)) 460.09/164.08 U45(mark(x0), x1) 460.09/164.08 U45(x0, mark(x1)) 460.09/164.08 U45(active(x0), x1) 460.09/164.08 U45(x0, active(x1)) 460.09/164.08 U46(mark(x0)) 460.09/164.08 U46(active(x0)) 460.09/164.08 isNatIList(mark(x0)) 460.09/164.08 isNatIList(active(x0)) 460.09/164.08 U51(mark(x0), x1) 460.09/164.08 U51(x0, mark(x1)) 460.09/164.08 U51(active(x0), x1) 460.09/164.08 U51(x0, active(x1)) 460.09/164.08 U52(mark(x0)) 460.09/164.08 U52(active(x0)) 460.09/164.08 U61(mark(x0)) 460.09/164.08 U61(active(x0)) 460.09/164.08 U71(mark(x0)) 460.09/164.08 U71(active(x0)) 460.09/164.08 U81(mark(x0), x1, x2) 460.09/164.08 U81(x0, mark(x1), x2) 460.09/164.08 U81(x0, x1, mark(x2)) 460.09/164.08 U81(active(x0), x1, x2) 460.09/164.08 U81(x0, active(x1), x2) 460.09/164.08 U81(x0, x1, active(x2)) 460.09/164.08 U82(mark(x0), x1, x2) 460.09/164.08 U82(x0, mark(x1), x2) 460.09/164.08 U82(x0, x1, mark(x2)) 460.09/164.08 U82(active(x0), x1, x2) 460.09/164.08 U82(x0, active(x1), x2) 460.09/164.08 U82(x0, x1, active(x2)) 460.09/164.08 U83(mark(x0), x1, x2) 460.09/164.08 U83(x0, mark(x1), x2) 460.09/164.08 U83(x0, x1, mark(x2)) 460.09/164.08 U83(active(x0), x1, x2) 460.09/164.08 U83(x0, active(x1), x2) 460.09/164.08 U83(x0, x1, active(x2)) 460.09/164.08 U84(mark(x0), x1, x2) 460.09/164.08 U84(x0, mark(x1), x2) 460.09/164.08 U84(x0, x1, mark(x2)) 460.09/164.08 U84(active(x0), x1, x2) 460.09/164.08 U84(x0, active(x1), x2) 460.09/164.08 U84(x0, x1, active(x2)) 460.09/164.08 U85(mark(x0), x1) 460.09/164.08 U85(x0, mark(x1)) 460.09/164.08 U85(active(x0), x1) 460.09/164.08 U85(x0, active(x1)) 460.09/164.08 U86(mark(x0)) 460.09/164.08 U86(active(x0)) 460.09/164.08 U91(mark(x0), x1, x2) 460.09/164.08 U91(x0, mark(x1), x2) 460.09/164.08 U91(x0, x1, mark(x2)) 460.09/164.08 U91(active(x0), x1, x2) 460.09/164.08 U91(x0, active(x1), x2) 460.09/164.08 U91(x0, x1, active(x2)) 460.09/164.08 U92(mark(x0), x1, x2) 460.09/164.08 U92(x0, mark(x1), x2) 460.09/164.08 U92(x0, x1, mark(x2)) 460.09/164.08 U92(active(x0), x1, x2) 460.09/164.08 U92(x0, active(x1), x2) 460.09/164.08 U92(x0, x1, active(x2)) 460.09/164.08 U93(mark(x0), x1, x2) 460.09/164.08 U93(x0, mark(x1), x2) 460.09/164.08 U93(x0, x1, mark(x2)) 460.09/164.08 U93(active(x0), x1, x2) 460.09/164.08 U93(x0, active(x1), x2) 460.09/164.08 U93(x0, x1, active(x2)) 460.09/164.08 U94(mark(x0), x1) 460.09/164.08 U94(x0, mark(x1)) 460.09/164.08 U94(active(x0), x1) 460.09/164.08 U94(x0, active(x1)) 460.09/164.08 s(mark(x0)) 460.09/164.08 s(active(x0)) 460.09/164.08 length(mark(x0)) 460.09/164.08 length(active(x0)) 460.09/164.08 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (100) 460.09/164.08 Obligation: 460.09/164.08 Q DP problem: 460.09/164.08 The TRS P consists of the following rules: 460.09/164.08 460.09/164.08 U61^1(active(X)) -> U61^1(X) 460.09/164.08 U61^1(mark(X)) -> U61^1(X) 460.09/164.08 460.09/164.08 R is empty. 460.09/164.08 The set Q consists of the following terms: 460.09/164.08 460.09/164.08 active(zeros) 460.09/164.08 active(U11(tt, x0)) 460.09/164.08 active(U12(tt, x0)) 460.09/164.08 active(U13(tt)) 460.09/164.08 active(U21(tt, x0)) 460.09/164.08 active(U22(tt, x0)) 460.09/164.08 active(U23(tt)) 460.09/164.08 active(U31(tt, x0)) 460.09/164.08 active(U32(tt, x0)) 460.09/164.08 active(U33(tt)) 460.09/164.08 active(U41(tt, x0, x1)) 460.09/164.08 active(U42(tt, x0, x1)) 460.09/164.08 active(U43(tt, x0, x1)) 460.09/164.08 active(U44(tt, x0, x1)) 460.09/164.08 active(U45(tt, x0)) 460.09/164.08 active(U46(tt)) 460.09/164.08 active(U51(tt, x0)) 460.09/164.08 active(U52(tt)) 460.09/164.08 active(U61(tt)) 460.09/164.08 active(U71(tt)) 460.09/164.08 active(U81(tt, x0, x1)) 460.09/164.08 active(U82(tt, x0, x1)) 460.09/164.08 active(U83(tt, x0, x1)) 460.09/164.08 active(U84(tt, x0, x1)) 460.09/164.08 active(U85(tt, x0)) 460.09/164.08 active(U86(tt)) 460.09/164.08 active(U91(tt, x0, x1)) 460.09/164.08 active(U92(tt, x0, x1)) 460.09/164.08 active(U93(tt, x0, x1)) 460.09/164.08 active(U94(tt, x0)) 460.09/164.08 active(isNat(0)) 460.09/164.08 active(isNat(length(x0))) 460.09/164.08 active(isNat(s(x0))) 460.09/164.08 active(isNatIList(x0)) 460.09/164.08 active(isNatIListKind(nil)) 460.09/164.08 active(isNatIListKind(zeros)) 460.09/164.08 active(isNatIListKind(cons(x0, x1))) 460.09/164.08 active(isNatKind(0)) 460.09/164.08 active(isNatKind(length(x0))) 460.09/164.08 active(isNatKind(s(x0))) 460.09/164.08 active(isNatList(nil)) 460.09/164.08 active(isNatList(cons(x0, x1))) 460.09/164.08 active(length(nil)) 460.09/164.08 active(length(cons(x0, x1))) 460.09/164.08 mark(zeros) 460.09/164.08 mark(cons(x0, x1)) 460.09/164.08 mark(0) 460.09/164.08 mark(U11(x0, x1)) 460.09/164.08 mark(tt) 460.09/164.08 mark(U12(x0, x1)) 460.09/164.08 mark(isNatIListKind(x0)) 460.09/164.08 mark(U13(x0)) 460.09/164.08 mark(isNatList(x0)) 460.09/164.08 mark(U21(x0, x1)) 460.09/164.08 mark(U22(x0, x1)) 460.09/164.08 mark(isNatKind(x0)) 460.09/164.08 mark(U23(x0)) 460.09/164.08 mark(isNat(x0)) 460.09/164.08 mark(U31(x0, x1)) 460.09/164.08 mark(U32(x0, x1)) 460.09/164.08 mark(U33(x0)) 460.09/164.08 mark(U41(x0, x1, x2)) 460.09/164.08 mark(U42(x0, x1, x2)) 460.09/164.08 mark(U43(x0, x1, x2)) 460.09/164.08 mark(U44(x0, x1, x2)) 460.09/164.08 mark(U45(x0, x1)) 460.09/164.08 mark(U46(x0)) 460.09/164.08 mark(isNatIList(x0)) 460.09/164.08 mark(U51(x0, x1)) 460.09/164.08 mark(U52(x0)) 460.09/164.08 mark(U61(x0)) 460.09/164.08 mark(U71(x0)) 460.09/164.08 mark(U81(x0, x1, x2)) 460.09/164.08 mark(U82(x0, x1, x2)) 460.09/164.08 mark(U83(x0, x1, x2)) 460.09/164.08 mark(U84(x0, x1, x2)) 460.09/164.08 mark(U85(x0, x1)) 460.09/164.08 mark(U86(x0)) 460.09/164.08 mark(U91(x0, x1, x2)) 460.09/164.08 mark(U92(x0, x1, x2)) 460.09/164.08 mark(U93(x0, x1, x2)) 460.09/164.08 mark(U94(x0, x1)) 460.09/164.08 mark(s(x0)) 460.09/164.08 mark(length(x0)) 460.09/164.08 mark(nil) 460.09/164.08 460.09/164.08 We have to consider all minimal (P,Q,R)-chains. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (101) QDPSizeChangeProof (EQUIVALENT) 460.09/164.08 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. 460.09/164.08 460.09/164.08 From the DPs we obtained the following set of size-change graphs: 460.09/164.08 *U61^1(active(X)) -> U61^1(X) 460.09/164.08 The graph contains the following edges 1 > 1 460.09/164.08 460.09/164.08 460.09/164.08 *U61^1(mark(X)) -> U61^1(X) 460.09/164.08 The graph contains the following edges 1 > 1 460.09/164.08 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (102) 460.09/164.08 YES 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (103) 460.09/164.08 Obligation: 460.09/164.08 Q DP problem: 460.09/164.08 The TRS P consists of the following rules: 460.09/164.08 460.09/164.08 U52^1(active(X)) -> U52^1(X) 460.09/164.08 U52^1(mark(X)) -> U52^1(X) 460.09/164.08 460.09/164.08 The TRS R consists of the following rules: 460.09/164.08 460.09/164.08 active(zeros) -> mark(cons(0, zeros)) 460.09/164.08 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.08 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.08 active(U13(tt)) -> mark(tt) 460.09/164.08 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.08 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.08 active(U23(tt)) -> mark(tt) 460.09/164.08 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.08 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.08 active(U33(tt)) -> mark(tt) 460.09/164.08 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.08 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.08 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.08 active(U46(tt)) -> mark(tt) 460.09/164.08 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.08 active(U52(tt)) -> mark(tt) 460.09/164.08 active(U61(tt)) -> mark(tt) 460.09/164.08 active(U71(tt)) -> mark(tt) 460.09/164.08 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.08 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.08 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.08 active(U86(tt)) -> mark(tt) 460.09/164.08 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.08 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.08 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.08 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.08 active(isNat(0)) -> mark(tt) 460.09/164.08 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.08 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.08 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.08 active(isNatIList(zeros)) -> mark(tt) 460.09/164.08 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.08 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.08 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.08 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.08 active(isNatKind(0)) -> mark(tt) 460.09/164.08 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.08 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.08 active(isNatList(nil)) -> mark(tt) 460.09/164.08 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.08 active(length(nil)) -> mark(0) 460.09/164.08 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.08 mark(zeros) -> active(zeros) 460.09/164.08 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.08 mark(0) -> active(0) 460.09/164.08 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.08 mark(tt) -> active(tt) 460.09/164.08 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.08 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.08 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.08 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.08 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.08 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.08 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.08 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.08 mark(isNat(X)) -> active(isNat(X)) 460.09/164.08 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.08 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.08 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.08 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.08 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.08 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.08 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.08 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.08 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.08 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.08 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.08 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.08 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.08 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.08 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.08 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.08 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.08 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.08 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.08 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.08 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.08 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.08 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.08 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.08 mark(s(X)) -> active(s(mark(X))) 460.09/164.08 mark(length(X)) -> active(length(mark(X))) 460.09/164.08 mark(nil) -> active(nil) 460.09/164.08 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.08 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.08 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.08 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.08 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.08 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.08 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.08 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.08 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.08 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.08 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.08 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.08 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.08 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.08 U13(mark(X)) -> U13(X) 460.09/164.08 U13(active(X)) -> U13(X) 460.09/164.08 isNatList(mark(X)) -> isNatList(X) 460.09/164.08 isNatList(active(X)) -> isNatList(X) 460.09/164.08 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.08 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.08 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.08 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.08 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.08 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.08 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.08 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.08 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.08 isNatKind(active(X)) -> isNatKind(X) 460.09/164.08 U23(mark(X)) -> U23(X) 460.09/164.08 U23(active(X)) -> U23(X) 460.09/164.08 isNat(mark(X)) -> isNat(X) 460.09/164.08 isNat(active(X)) -> isNat(X) 460.09/164.08 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.08 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.08 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.08 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.08 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.08 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.08 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.08 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.08 U33(mark(X)) -> U33(X) 460.09/164.08 U33(active(X)) -> U33(X) 460.09/164.08 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.08 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.08 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.08 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.08 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.08 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.08 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.08 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.08 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.08 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.08 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.08 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.08 U46(mark(X)) -> U46(X) 460.09/164.08 U46(active(X)) -> U46(X) 460.09/164.08 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.08 isNatIList(active(X)) -> isNatIList(X) 460.09/164.08 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.08 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.08 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.08 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.08 U52(mark(X)) -> U52(X) 460.09/164.08 U52(active(X)) -> U52(X) 460.09/164.08 U61(mark(X)) -> U61(X) 460.09/164.08 U61(active(X)) -> U61(X) 460.09/164.08 U71(mark(X)) -> U71(X) 460.09/164.08 U71(active(X)) -> U71(X) 460.09/164.08 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.08 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.08 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.08 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.08 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.08 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.08 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.08 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.08 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.08 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.08 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.08 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.08 U86(mark(X)) -> U86(X) 460.09/164.08 U86(active(X)) -> U86(X) 460.09/164.08 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.08 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.08 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.08 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.08 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.08 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.08 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.08 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.08 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.08 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.08 s(mark(X)) -> s(X) 460.09/164.08 s(active(X)) -> s(X) 460.09/164.08 length(mark(X)) -> length(X) 460.09/164.08 length(active(X)) -> length(X) 460.09/164.08 460.09/164.08 The set Q consists of the following terms: 460.09/164.08 460.09/164.08 active(zeros) 460.09/164.08 active(U11(tt, x0)) 460.09/164.08 active(U12(tt, x0)) 460.09/164.08 active(U13(tt)) 460.09/164.08 active(U21(tt, x0)) 460.09/164.08 active(U22(tt, x0)) 460.09/164.08 active(U23(tt)) 460.09/164.08 active(U31(tt, x0)) 460.09/164.08 active(U32(tt, x0)) 460.09/164.08 active(U33(tt)) 460.09/164.08 active(U41(tt, x0, x1)) 460.09/164.08 active(U42(tt, x0, x1)) 460.09/164.08 active(U43(tt, x0, x1)) 460.09/164.08 active(U44(tt, x0, x1)) 460.09/164.08 active(U45(tt, x0)) 460.09/164.08 active(U46(tt)) 460.09/164.08 active(U51(tt, x0)) 460.09/164.08 active(U52(tt)) 460.09/164.08 active(U61(tt)) 460.09/164.08 active(U71(tt)) 460.09/164.08 active(U81(tt, x0, x1)) 460.09/164.08 active(U82(tt, x0, x1)) 460.09/164.08 active(U83(tt, x0, x1)) 460.09/164.08 active(U84(tt, x0, x1)) 460.09/164.08 active(U85(tt, x0)) 460.09/164.08 active(U86(tt)) 460.09/164.08 active(U91(tt, x0, x1)) 460.09/164.08 active(U92(tt, x0, x1)) 460.09/164.08 active(U93(tt, x0, x1)) 460.09/164.08 active(U94(tt, x0)) 460.09/164.08 active(isNat(0)) 460.09/164.08 active(isNat(length(x0))) 460.09/164.08 active(isNat(s(x0))) 460.09/164.08 active(isNatIList(x0)) 460.09/164.08 active(isNatIListKind(nil)) 460.09/164.08 active(isNatIListKind(zeros)) 460.09/164.08 active(isNatIListKind(cons(x0, x1))) 460.09/164.08 active(isNatKind(0)) 460.09/164.08 active(isNatKind(length(x0))) 460.09/164.08 active(isNatKind(s(x0))) 460.09/164.08 active(isNatList(nil)) 460.09/164.08 active(isNatList(cons(x0, x1))) 460.09/164.08 active(length(nil)) 460.09/164.08 active(length(cons(x0, x1))) 460.09/164.08 mark(zeros) 460.09/164.08 mark(cons(x0, x1)) 460.09/164.08 mark(0) 460.09/164.08 mark(U11(x0, x1)) 460.09/164.08 mark(tt) 460.09/164.08 mark(U12(x0, x1)) 460.09/164.08 mark(isNatIListKind(x0)) 460.09/164.08 mark(U13(x0)) 460.09/164.08 mark(isNatList(x0)) 460.09/164.08 mark(U21(x0, x1)) 460.09/164.08 mark(U22(x0, x1)) 460.09/164.08 mark(isNatKind(x0)) 460.09/164.08 mark(U23(x0)) 460.09/164.08 mark(isNat(x0)) 460.09/164.08 mark(U31(x0, x1)) 460.09/164.08 mark(U32(x0, x1)) 460.09/164.08 mark(U33(x0)) 460.09/164.08 mark(U41(x0, x1, x2)) 460.09/164.08 mark(U42(x0, x1, x2)) 460.09/164.08 mark(U43(x0, x1, x2)) 460.09/164.08 mark(U44(x0, x1, x2)) 460.09/164.08 mark(U45(x0, x1)) 460.09/164.08 mark(U46(x0)) 460.09/164.08 mark(isNatIList(x0)) 460.09/164.08 mark(U51(x0, x1)) 460.09/164.08 mark(U52(x0)) 460.09/164.08 mark(U61(x0)) 460.09/164.08 mark(U71(x0)) 460.09/164.08 mark(U81(x0, x1, x2)) 460.09/164.08 mark(U82(x0, x1, x2)) 460.09/164.08 mark(U83(x0, x1, x2)) 460.09/164.08 mark(U84(x0, x1, x2)) 460.09/164.08 mark(U85(x0, x1)) 460.09/164.08 mark(U86(x0)) 460.09/164.08 mark(U91(x0, x1, x2)) 460.09/164.08 mark(U92(x0, x1, x2)) 460.09/164.08 mark(U93(x0, x1, x2)) 460.09/164.08 mark(U94(x0, x1)) 460.09/164.08 mark(s(x0)) 460.09/164.08 mark(length(x0)) 460.09/164.08 mark(nil) 460.09/164.08 cons(mark(x0), x1) 460.09/164.08 cons(x0, mark(x1)) 460.09/164.08 cons(active(x0), x1) 460.09/164.08 cons(x0, active(x1)) 460.09/164.08 U11(mark(x0), x1) 460.09/164.08 U11(x0, mark(x1)) 460.09/164.08 U11(active(x0), x1) 460.09/164.08 U11(x0, active(x1)) 460.09/164.08 U12(mark(x0), x1) 460.09/164.08 U12(x0, mark(x1)) 460.09/164.08 U12(active(x0), x1) 460.09/164.08 U12(x0, active(x1)) 460.09/164.08 isNatIListKind(mark(x0)) 460.09/164.08 isNatIListKind(active(x0)) 460.09/164.08 U13(mark(x0)) 460.09/164.08 U13(active(x0)) 460.09/164.08 isNatList(mark(x0)) 460.09/164.08 isNatList(active(x0)) 460.09/164.08 U21(mark(x0), x1) 460.09/164.08 U21(x0, mark(x1)) 460.09/164.08 U21(active(x0), x1) 460.09/164.08 U21(x0, active(x1)) 460.09/164.08 U22(mark(x0), x1) 460.09/164.08 U22(x0, mark(x1)) 460.09/164.08 U22(active(x0), x1) 460.09/164.08 U22(x0, active(x1)) 460.09/164.08 isNatKind(mark(x0)) 460.09/164.08 isNatKind(active(x0)) 460.09/164.08 U23(mark(x0)) 460.09/164.08 U23(active(x0)) 460.09/164.08 isNat(mark(x0)) 460.09/164.08 isNat(active(x0)) 460.09/164.08 U31(mark(x0), x1) 460.09/164.08 U31(x0, mark(x1)) 460.09/164.08 U31(active(x0), x1) 460.09/164.08 U31(x0, active(x1)) 460.09/164.08 U32(mark(x0), x1) 460.09/164.08 U32(x0, mark(x1)) 460.09/164.08 U32(active(x0), x1) 460.09/164.08 U32(x0, active(x1)) 460.09/164.08 U33(mark(x0)) 460.09/164.08 U33(active(x0)) 460.09/164.08 U41(mark(x0), x1, x2) 460.09/164.08 U41(x0, mark(x1), x2) 460.09/164.08 U41(x0, x1, mark(x2)) 460.09/164.08 U41(active(x0), x1, x2) 460.09/164.08 U41(x0, active(x1), x2) 460.09/164.08 U41(x0, x1, active(x2)) 460.09/164.08 U42(mark(x0), x1, x2) 460.09/164.08 U42(x0, mark(x1), x2) 460.09/164.08 U42(x0, x1, mark(x2)) 460.09/164.08 U42(active(x0), x1, x2) 460.09/164.08 U42(x0, active(x1), x2) 460.09/164.08 U42(x0, x1, active(x2)) 460.09/164.08 U43(mark(x0), x1, x2) 460.09/164.08 U43(x0, mark(x1), x2) 460.09/164.08 U43(x0, x1, mark(x2)) 460.09/164.08 U43(active(x0), x1, x2) 460.09/164.08 U43(x0, active(x1), x2) 460.09/164.08 U43(x0, x1, active(x2)) 460.09/164.08 U44(mark(x0), x1, x2) 460.09/164.08 U44(x0, mark(x1), x2) 460.09/164.08 U44(x0, x1, mark(x2)) 460.09/164.08 U44(active(x0), x1, x2) 460.09/164.08 U44(x0, active(x1), x2) 460.09/164.08 U44(x0, x1, active(x2)) 460.09/164.08 U45(mark(x0), x1) 460.09/164.08 U45(x0, mark(x1)) 460.09/164.08 U45(active(x0), x1) 460.09/164.08 U45(x0, active(x1)) 460.09/164.08 U46(mark(x0)) 460.09/164.08 U46(active(x0)) 460.09/164.08 isNatIList(mark(x0)) 460.09/164.08 isNatIList(active(x0)) 460.09/164.08 U51(mark(x0), x1) 460.09/164.08 U51(x0, mark(x1)) 460.09/164.08 U51(active(x0), x1) 460.09/164.08 U51(x0, active(x1)) 460.09/164.08 U52(mark(x0)) 460.09/164.08 U52(active(x0)) 460.09/164.08 U61(mark(x0)) 460.09/164.08 U61(active(x0)) 460.09/164.08 U71(mark(x0)) 460.09/164.08 U71(active(x0)) 460.09/164.08 U81(mark(x0), x1, x2) 460.09/164.08 U81(x0, mark(x1), x2) 460.09/164.08 U81(x0, x1, mark(x2)) 460.09/164.08 U81(active(x0), x1, x2) 460.09/164.08 U81(x0, active(x1), x2) 460.09/164.08 U81(x0, x1, active(x2)) 460.09/164.08 U82(mark(x0), x1, x2) 460.09/164.08 U82(x0, mark(x1), x2) 460.09/164.08 U82(x0, x1, mark(x2)) 460.09/164.08 U82(active(x0), x1, x2) 460.09/164.08 U82(x0, active(x1), x2) 460.09/164.08 U82(x0, x1, active(x2)) 460.09/164.08 U83(mark(x0), x1, x2) 460.09/164.08 U83(x0, mark(x1), x2) 460.09/164.08 U83(x0, x1, mark(x2)) 460.09/164.08 U83(active(x0), x1, x2) 460.09/164.08 U83(x0, active(x1), x2) 460.09/164.08 U83(x0, x1, active(x2)) 460.09/164.08 U84(mark(x0), x1, x2) 460.09/164.08 U84(x0, mark(x1), x2) 460.09/164.08 U84(x0, x1, mark(x2)) 460.09/164.08 U84(active(x0), x1, x2) 460.09/164.08 U84(x0, active(x1), x2) 460.09/164.08 U84(x0, x1, active(x2)) 460.09/164.08 U85(mark(x0), x1) 460.09/164.08 U85(x0, mark(x1)) 460.09/164.08 U85(active(x0), x1) 460.09/164.08 U85(x0, active(x1)) 460.09/164.08 U86(mark(x0)) 460.09/164.08 U86(active(x0)) 460.09/164.08 U91(mark(x0), x1, x2) 460.09/164.08 U91(x0, mark(x1), x2) 460.09/164.08 U91(x0, x1, mark(x2)) 460.09/164.08 U91(active(x0), x1, x2) 460.09/164.08 U91(x0, active(x1), x2) 460.09/164.08 U91(x0, x1, active(x2)) 460.09/164.08 U92(mark(x0), x1, x2) 460.09/164.08 U92(x0, mark(x1), x2) 460.09/164.08 U92(x0, x1, mark(x2)) 460.09/164.08 U92(active(x0), x1, x2) 460.09/164.08 U92(x0, active(x1), x2) 460.09/164.08 U92(x0, x1, active(x2)) 460.09/164.08 U93(mark(x0), x1, x2) 460.09/164.08 U93(x0, mark(x1), x2) 460.09/164.08 U93(x0, x1, mark(x2)) 460.09/164.08 U93(active(x0), x1, x2) 460.09/164.08 U93(x0, active(x1), x2) 460.09/164.08 U93(x0, x1, active(x2)) 460.09/164.08 U94(mark(x0), x1) 460.09/164.08 U94(x0, mark(x1)) 460.09/164.08 U94(active(x0), x1) 460.09/164.08 U94(x0, active(x1)) 460.09/164.08 s(mark(x0)) 460.09/164.08 s(active(x0)) 460.09/164.08 length(mark(x0)) 460.09/164.08 length(active(x0)) 460.09/164.08 460.09/164.08 We have to consider all minimal (P,Q,R)-chains. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (104) UsableRulesProof (EQUIVALENT) 460.09/164.08 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. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (105) 460.09/164.08 Obligation: 460.09/164.08 Q DP problem: 460.09/164.08 The TRS P consists of the following rules: 460.09/164.08 460.09/164.08 U52^1(active(X)) -> U52^1(X) 460.09/164.08 U52^1(mark(X)) -> U52^1(X) 460.09/164.08 460.09/164.08 R is empty. 460.09/164.08 The set Q consists of the following terms: 460.09/164.08 460.09/164.08 active(zeros) 460.09/164.08 active(U11(tt, x0)) 460.09/164.08 active(U12(tt, x0)) 460.09/164.08 active(U13(tt)) 460.09/164.08 active(U21(tt, x0)) 460.09/164.08 active(U22(tt, x0)) 460.09/164.08 active(U23(tt)) 460.09/164.08 active(U31(tt, x0)) 460.09/164.08 active(U32(tt, x0)) 460.09/164.08 active(U33(tt)) 460.09/164.08 active(U41(tt, x0, x1)) 460.09/164.08 active(U42(tt, x0, x1)) 460.09/164.08 active(U43(tt, x0, x1)) 460.09/164.08 active(U44(tt, x0, x1)) 460.09/164.08 active(U45(tt, x0)) 460.09/164.08 active(U46(tt)) 460.09/164.08 active(U51(tt, x0)) 460.09/164.08 active(U52(tt)) 460.09/164.08 active(U61(tt)) 460.09/164.08 active(U71(tt)) 460.09/164.08 active(U81(tt, x0, x1)) 460.09/164.08 active(U82(tt, x0, x1)) 460.09/164.08 active(U83(tt, x0, x1)) 460.09/164.08 active(U84(tt, x0, x1)) 460.09/164.08 active(U85(tt, x0)) 460.09/164.08 active(U86(tt)) 460.09/164.08 active(U91(tt, x0, x1)) 460.09/164.08 active(U92(tt, x0, x1)) 460.09/164.08 active(U93(tt, x0, x1)) 460.09/164.08 active(U94(tt, x0)) 460.09/164.08 active(isNat(0)) 460.09/164.08 active(isNat(length(x0))) 460.09/164.08 active(isNat(s(x0))) 460.09/164.08 active(isNatIList(x0)) 460.09/164.08 active(isNatIListKind(nil)) 460.09/164.08 active(isNatIListKind(zeros)) 460.09/164.08 active(isNatIListKind(cons(x0, x1))) 460.09/164.08 active(isNatKind(0)) 460.09/164.08 active(isNatKind(length(x0))) 460.09/164.08 active(isNatKind(s(x0))) 460.09/164.08 active(isNatList(nil)) 460.09/164.08 active(isNatList(cons(x0, x1))) 460.09/164.08 active(length(nil)) 460.09/164.08 active(length(cons(x0, x1))) 460.09/164.08 mark(zeros) 460.09/164.08 mark(cons(x0, x1)) 460.09/164.08 mark(0) 460.09/164.08 mark(U11(x0, x1)) 460.09/164.08 mark(tt) 460.09/164.08 mark(U12(x0, x1)) 460.09/164.08 mark(isNatIListKind(x0)) 460.09/164.08 mark(U13(x0)) 460.09/164.08 mark(isNatList(x0)) 460.09/164.08 mark(U21(x0, x1)) 460.09/164.08 mark(U22(x0, x1)) 460.09/164.08 mark(isNatKind(x0)) 460.09/164.08 mark(U23(x0)) 460.09/164.08 mark(isNat(x0)) 460.09/164.08 mark(U31(x0, x1)) 460.09/164.08 mark(U32(x0, x1)) 460.09/164.08 mark(U33(x0)) 460.09/164.08 mark(U41(x0, x1, x2)) 460.09/164.08 mark(U42(x0, x1, x2)) 460.09/164.08 mark(U43(x0, x1, x2)) 460.09/164.08 mark(U44(x0, x1, x2)) 460.09/164.08 mark(U45(x0, x1)) 460.09/164.08 mark(U46(x0)) 460.09/164.08 mark(isNatIList(x0)) 460.09/164.08 mark(U51(x0, x1)) 460.09/164.08 mark(U52(x0)) 460.09/164.08 mark(U61(x0)) 460.09/164.08 mark(U71(x0)) 460.09/164.08 mark(U81(x0, x1, x2)) 460.09/164.08 mark(U82(x0, x1, x2)) 460.09/164.08 mark(U83(x0, x1, x2)) 460.09/164.08 mark(U84(x0, x1, x2)) 460.09/164.08 mark(U85(x0, x1)) 460.09/164.08 mark(U86(x0)) 460.09/164.08 mark(U91(x0, x1, x2)) 460.09/164.08 mark(U92(x0, x1, x2)) 460.09/164.08 mark(U93(x0, x1, x2)) 460.09/164.08 mark(U94(x0, x1)) 460.09/164.08 mark(s(x0)) 460.09/164.08 mark(length(x0)) 460.09/164.08 mark(nil) 460.09/164.08 cons(mark(x0), x1) 460.09/164.08 cons(x0, mark(x1)) 460.09/164.08 cons(active(x0), x1) 460.09/164.08 cons(x0, active(x1)) 460.09/164.08 U11(mark(x0), x1) 460.09/164.08 U11(x0, mark(x1)) 460.09/164.08 U11(active(x0), x1) 460.09/164.08 U11(x0, active(x1)) 460.09/164.08 U12(mark(x0), x1) 460.09/164.08 U12(x0, mark(x1)) 460.09/164.08 U12(active(x0), x1) 460.09/164.08 U12(x0, active(x1)) 460.09/164.08 isNatIListKind(mark(x0)) 460.09/164.08 isNatIListKind(active(x0)) 460.09/164.08 U13(mark(x0)) 460.09/164.08 U13(active(x0)) 460.09/164.08 isNatList(mark(x0)) 460.09/164.08 isNatList(active(x0)) 460.09/164.08 U21(mark(x0), x1) 460.09/164.08 U21(x0, mark(x1)) 460.09/164.08 U21(active(x0), x1) 460.09/164.08 U21(x0, active(x1)) 460.09/164.08 U22(mark(x0), x1) 460.09/164.08 U22(x0, mark(x1)) 460.09/164.08 U22(active(x0), x1) 460.09/164.08 U22(x0, active(x1)) 460.09/164.08 isNatKind(mark(x0)) 460.09/164.08 isNatKind(active(x0)) 460.09/164.08 U23(mark(x0)) 460.09/164.08 U23(active(x0)) 460.09/164.08 isNat(mark(x0)) 460.09/164.08 isNat(active(x0)) 460.09/164.08 U31(mark(x0), x1) 460.09/164.08 U31(x0, mark(x1)) 460.09/164.08 U31(active(x0), x1) 460.09/164.08 U31(x0, active(x1)) 460.09/164.08 U32(mark(x0), x1) 460.09/164.08 U32(x0, mark(x1)) 460.09/164.08 U32(active(x0), x1) 460.09/164.08 U32(x0, active(x1)) 460.09/164.08 U33(mark(x0)) 460.09/164.08 U33(active(x0)) 460.09/164.08 U41(mark(x0), x1, x2) 460.09/164.08 U41(x0, mark(x1), x2) 460.09/164.08 U41(x0, x1, mark(x2)) 460.09/164.08 U41(active(x0), x1, x2) 460.09/164.08 U41(x0, active(x1), x2) 460.09/164.08 U41(x0, x1, active(x2)) 460.09/164.08 U42(mark(x0), x1, x2) 460.09/164.08 U42(x0, mark(x1), x2) 460.09/164.08 U42(x0, x1, mark(x2)) 460.09/164.08 U42(active(x0), x1, x2) 460.09/164.08 U42(x0, active(x1), x2) 460.09/164.08 U42(x0, x1, active(x2)) 460.09/164.08 U43(mark(x0), x1, x2) 460.09/164.08 U43(x0, mark(x1), x2) 460.09/164.08 U43(x0, x1, mark(x2)) 460.09/164.08 U43(active(x0), x1, x2) 460.09/164.08 U43(x0, active(x1), x2) 460.09/164.08 U43(x0, x1, active(x2)) 460.09/164.08 U44(mark(x0), x1, x2) 460.09/164.08 U44(x0, mark(x1), x2) 460.09/164.08 U44(x0, x1, mark(x2)) 460.09/164.08 U44(active(x0), x1, x2) 460.09/164.08 U44(x0, active(x1), x2) 460.09/164.08 U44(x0, x1, active(x2)) 460.09/164.08 U45(mark(x0), x1) 460.09/164.08 U45(x0, mark(x1)) 460.09/164.08 U45(active(x0), x1) 460.09/164.08 U45(x0, active(x1)) 460.09/164.08 U46(mark(x0)) 460.09/164.08 U46(active(x0)) 460.09/164.08 isNatIList(mark(x0)) 460.09/164.08 isNatIList(active(x0)) 460.09/164.08 U51(mark(x0), x1) 460.09/164.08 U51(x0, mark(x1)) 460.09/164.08 U51(active(x0), x1) 460.09/164.08 U51(x0, active(x1)) 460.09/164.08 U52(mark(x0)) 460.09/164.08 U52(active(x0)) 460.09/164.08 U61(mark(x0)) 460.09/164.08 U61(active(x0)) 460.09/164.08 U71(mark(x0)) 460.09/164.08 U71(active(x0)) 460.09/164.08 U81(mark(x0), x1, x2) 460.09/164.08 U81(x0, mark(x1), x2) 460.09/164.08 U81(x0, x1, mark(x2)) 460.09/164.08 U81(active(x0), x1, x2) 460.09/164.08 U81(x0, active(x1), x2) 460.09/164.08 U81(x0, x1, active(x2)) 460.09/164.08 U82(mark(x0), x1, x2) 460.09/164.08 U82(x0, mark(x1), x2) 460.09/164.08 U82(x0, x1, mark(x2)) 460.09/164.08 U82(active(x0), x1, x2) 460.09/164.08 U82(x0, active(x1), x2) 460.09/164.08 U82(x0, x1, active(x2)) 460.09/164.08 U83(mark(x0), x1, x2) 460.09/164.08 U83(x0, mark(x1), x2) 460.09/164.08 U83(x0, x1, mark(x2)) 460.09/164.08 U83(active(x0), x1, x2) 460.09/164.08 U83(x0, active(x1), x2) 460.09/164.08 U83(x0, x1, active(x2)) 460.09/164.08 U84(mark(x0), x1, x2) 460.09/164.08 U84(x0, mark(x1), x2) 460.09/164.08 U84(x0, x1, mark(x2)) 460.09/164.08 U84(active(x0), x1, x2) 460.09/164.08 U84(x0, active(x1), x2) 460.09/164.08 U84(x0, x1, active(x2)) 460.09/164.08 U85(mark(x0), x1) 460.09/164.08 U85(x0, mark(x1)) 460.09/164.08 U85(active(x0), x1) 460.09/164.08 U85(x0, active(x1)) 460.09/164.08 U86(mark(x0)) 460.09/164.08 U86(active(x0)) 460.09/164.08 U91(mark(x0), x1, x2) 460.09/164.08 U91(x0, mark(x1), x2) 460.09/164.08 U91(x0, x1, mark(x2)) 460.09/164.08 U91(active(x0), x1, x2) 460.09/164.08 U91(x0, active(x1), x2) 460.09/164.08 U91(x0, x1, active(x2)) 460.09/164.08 U92(mark(x0), x1, x2) 460.09/164.08 U92(x0, mark(x1), x2) 460.09/164.08 U92(x0, x1, mark(x2)) 460.09/164.08 U92(active(x0), x1, x2) 460.09/164.08 U92(x0, active(x1), x2) 460.09/164.08 U92(x0, x1, active(x2)) 460.09/164.08 U93(mark(x0), x1, x2) 460.09/164.08 U93(x0, mark(x1), x2) 460.09/164.08 U93(x0, x1, mark(x2)) 460.09/164.08 U93(active(x0), x1, x2) 460.09/164.08 U93(x0, active(x1), x2) 460.09/164.08 U93(x0, x1, active(x2)) 460.09/164.08 U94(mark(x0), x1) 460.09/164.08 U94(x0, mark(x1)) 460.09/164.08 U94(active(x0), x1) 460.09/164.08 U94(x0, active(x1)) 460.09/164.08 s(mark(x0)) 460.09/164.08 s(active(x0)) 460.09/164.08 length(mark(x0)) 460.09/164.08 length(active(x0)) 460.09/164.08 460.09/164.08 We have to consider all minimal (P,Q,R)-chains. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (106) QReductionProof (EQUIVALENT) 460.09/164.08 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.08 460.09/164.08 cons(mark(x0), x1) 460.09/164.08 cons(x0, mark(x1)) 460.09/164.08 cons(active(x0), x1) 460.09/164.08 cons(x0, active(x1)) 460.09/164.08 U11(mark(x0), x1) 460.09/164.08 U11(x0, mark(x1)) 460.09/164.08 U11(active(x0), x1) 460.09/164.08 U11(x0, active(x1)) 460.09/164.08 U12(mark(x0), x1) 460.09/164.08 U12(x0, mark(x1)) 460.09/164.08 U12(active(x0), x1) 460.09/164.08 U12(x0, active(x1)) 460.09/164.08 isNatIListKind(mark(x0)) 460.09/164.08 isNatIListKind(active(x0)) 460.09/164.08 U13(mark(x0)) 460.09/164.08 U13(active(x0)) 460.09/164.08 isNatList(mark(x0)) 460.09/164.08 isNatList(active(x0)) 460.09/164.08 U21(mark(x0), x1) 460.09/164.08 U21(x0, mark(x1)) 460.09/164.08 U21(active(x0), x1) 460.09/164.08 U21(x0, active(x1)) 460.09/164.08 U22(mark(x0), x1) 460.09/164.08 U22(x0, mark(x1)) 460.09/164.08 U22(active(x0), x1) 460.09/164.08 U22(x0, active(x1)) 460.09/164.08 isNatKind(mark(x0)) 460.09/164.08 isNatKind(active(x0)) 460.09/164.08 U23(mark(x0)) 460.09/164.08 U23(active(x0)) 460.09/164.08 isNat(mark(x0)) 460.09/164.08 isNat(active(x0)) 460.09/164.08 U31(mark(x0), x1) 460.09/164.08 U31(x0, mark(x1)) 460.09/164.08 U31(active(x0), x1) 460.09/164.08 U31(x0, active(x1)) 460.09/164.08 U32(mark(x0), x1) 460.09/164.08 U32(x0, mark(x1)) 460.09/164.08 U32(active(x0), x1) 460.09/164.08 U32(x0, active(x1)) 460.09/164.08 U33(mark(x0)) 460.09/164.08 U33(active(x0)) 460.09/164.08 U41(mark(x0), x1, x2) 460.09/164.08 U41(x0, mark(x1), x2) 460.09/164.08 U41(x0, x1, mark(x2)) 460.09/164.08 U41(active(x0), x1, x2) 460.09/164.08 U41(x0, active(x1), x2) 460.09/164.08 U41(x0, x1, active(x2)) 460.09/164.08 U42(mark(x0), x1, x2) 460.09/164.08 U42(x0, mark(x1), x2) 460.09/164.08 U42(x0, x1, mark(x2)) 460.09/164.08 U42(active(x0), x1, x2) 460.09/164.08 U42(x0, active(x1), x2) 460.09/164.08 U42(x0, x1, active(x2)) 460.09/164.08 U43(mark(x0), x1, x2) 460.09/164.08 U43(x0, mark(x1), x2) 460.09/164.08 U43(x0, x1, mark(x2)) 460.09/164.08 U43(active(x0), x1, x2) 460.09/164.08 U43(x0, active(x1), x2) 460.09/164.08 U43(x0, x1, active(x2)) 460.09/164.08 U44(mark(x0), x1, x2) 460.09/164.08 U44(x0, mark(x1), x2) 460.09/164.08 U44(x0, x1, mark(x2)) 460.09/164.08 U44(active(x0), x1, x2) 460.09/164.08 U44(x0, active(x1), x2) 460.09/164.08 U44(x0, x1, active(x2)) 460.09/164.08 U45(mark(x0), x1) 460.09/164.08 U45(x0, mark(x1)) 460.09/164.08 U45(active(x0), x1) 460.09/164.08 U45(x0, active(x1)) 460.09/164.08 U46(mark(x0)) 460.09/164.08 U46(active(x0)) 460.09/164.08 isNatIList(mark(x0)) 460.09/164.08 isNatIList(active(x0)) 460.09/164.08 U51(mark(x0), x1) 460.09/164.08 U51(x0, mark(x1)) 460.09/164.08 U51(active(x0), x1) 460.09/164.08 U51(x0, active(x1)) 460.09/164.08 U52(mark(x0)) 460.09/164.08 U52(active(x0)) 460.09/164.08 U61(mark(x0)) 460.09/164.08 U61(active(x0)) 460.09/164.08 U71(mark(x0)) 460.09/164.08 U71(active(x0)) 460.09/164.08 U81(mark(x0), x1, x2) 460.09/164.08 U81(x0, mark(x1), x2) 460.09/164.08 U81(x0, x1, mark(x2)) 460.09/164.08 U81(active(x0), x1, x2) 460.09/164.08 U81(x0, active(x1), x2) 460.09/164.08 U81(x0, x1, active(x2)) 460.09/164.08 U82(mark(x0), x1, x2) 460.09/164.08 U82(x0, mark(x1), x2) 460.09/164.08 U82(x0, x1, mark(x2)) 460.09/164.08 U82(active(x0), x1, x2) 460.09/164.08 U82(x0, active(x1), x2) 460.09/164.08 U82(x0, x1, active(x2)) 460.09/164.08 U83(mark(x0), x1, x2) 460.09/164.08 U83(x0, mark(x1), x2) 460.09/164.08 U83(x0, x1, mark(x2)) 460.09/164.08 U83(active(x0), x1, x2) 460.09/164.08 U83(x0, active(x1), x2) 460.09/164.08 U83(x0, x1, active(x2)) 460.09/164.08 U84(mark(x0), x1, x2) 460.09/164.08 U84(x0, mark(x1), x2) 460.09/164.08 U84(x0, x1, mark(x2)) 460.09/164.08 U84(active(x0), x1, x2) 460.09/164.08 U84(x0, active(x1), x2) 460.09/164.08 U84(x0, x1, active(x2)) 460.09/164.08 U85(mark(x0), x1) 460.09/164.08 U85(x0, mark(x1)) 460.09/164.08 U85(active(x0), x1) 460.09/164.08 U85(x0, active(x1)) 460.09/164.08 U86(mark(x0)) 460.09/164.08 U86(active(x0)) 460.09/164.08 U91(mark(x0), x1, x2) 460.09/164.08 U91(x0, mark(x1), x2) 460.09/164.08 U91(x0, x1, mark(x2)) 460.09/164.08 U91(active(x0), x1, x2) 460.09/164.08 U91(x0, active(x1), x2) 460.09/164.08 U91(x0, x1, active(x2)) 460.09/164.08 U92(mark(x0), x1, x2) 460.09/164.08 U92(x0, mark(x1), x2) 460.09/164.08 U92(x0, x1, mark(x2)) 460.09/164.08 U92(active(x0), x1, x2) 460.09/164.08 U92(x0, active(x1), x2) 460.09/164.08 U92(x0, x1, active(x2)) 460.09/164.08 U93(mark(x0), x1, x2) 460.09/164.08 U93(x0, mark(x1), x2) 460.09/164.08 U93(x0, x1, mark(x2)) 460.09/164.08 U93(active(x0), x1, x2) 460.09/164.08 U93(x0, active(x1), x2) 460.09/164.08 U93(x0, x1, active(x2)) 460.09/164.08 U94(mark(x0), x1) 460.09/164.08 U94(x0, mark(x1)) 460.09/164.08 U94(active(x0), x1) 460.09/164.08 U94(x0, active(x1)) 460.09/164.08 s(mark(x0)) 460.09/164.08 s(active(x0)) 460.09/164.08 length(mark(x0)) 460.09/164.08 length(active(x0)) 460.09/164.08 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (107) 460.09/164.08 Obligation: 460.09/164.08 Q DP problem: 460.09/164.08 The TRS P consists of the following rules: 460.09/164.08 460.09/164.08 U52^1(active(X)) -> U52^1(X) 460.09/164.08 U52^1(mark(X)) -> U52^1(X) 460.09/164.08 460.09/164.08 R is empty. 460.09/164.08 The set Q consists of the following terms: 460.09/164.08 460.09/164.08 active(zeros) 460.09/164.08 active(U11(tt, x0)) 460.09/164.08 active(U12(tt, x0)) 460.09/164.08 active(U13(tt)) 460.09/164.08 active(U21(tt, x0)) 460.09/164.08 active(U22(tt, x0)) 460.09/164.08 active(U23(tt)) 460.09/164.08 active(U31(tt, x0)) 460.09/164.08 active(U32(tt, x0)) 460.09/164.08 active(U33(tt)) 460.09/164.08 active(U41(tt, x0, x1)) 460.09/164.08 active(U42(tt, x0, x1)) 460.09/164.08 active(U43(tt, x0, x1)) 460.09/164.08 active(U44(tt, x0, x1)) 460.09/164.08 active(U45(tt, x0)) 460.09/164.08 active(U46(tt)) 460.09/164.08 active(U51(tt, x0)) 460.09/164.08 active(U52(tt)) 460.09/164.08 active(U61(tt)) 460.09/164.08 active(U71(tt)) 460.09/164.08 active(U81(tt, x0, x1)) 460.09/164.08 active(U82(tt, x0, x1)) 460.09/164.08 active(U83(tt, x0, x1)) 460.09/164.08 active(U84(tt, x0, x1)) 460.09/164.08 active(U85(tt, x0)) 460.09/164.08 active(U86(tt)) 460.09/164.08 active(U91(tt, x0, x1)) 460.09/164.08 active(U92(tt, x0, x1)) 460.09/164.08 active(U93(tt, x0, x1)) 460.09/164.08 active(U94(tt, x0)) 460.09/164.08 active(isNat(0)) 460.09/164.08 active(isNat(length(x0))) 460.09/164.08 active(isNat(s(x0))) 460.09/164.08 active(isNatIList(x0)) 460.09/164.08 active(isNatIListKind(nil)) 460.09/164.08 active(isNatIListKind(zeros)) 460.09/164.08 active(isNatIListKind(cons(x0, x1))) 460.09/164.08 active(isNatKind(0)) 460.09/164.08 active(isNatKind(length(x0))) 460.09/164.08 active(isNatKind(s(x0))) 460.09/164.08 active(isNatList(nil)) 460.09/164.08 active(isNatList(cons(x0, x1))) 460.09/164.08 active(length(nil)) 460.09/164.08 active(length(cons(x0, x1))) 460.09/164.08 mark(zeros) 460.09/164.08 mark(cons(x0, x1)) 460.09/164.08 mark(0) 460.09/164.08 mark(U11(x0, x1)) 460.09/164.08 mark(tt) 460.09/164.08 mark(U12(x0, x1)) 460.09/164.08 mark(isNatIListKind(x0)) 460.09/164.08 mark(U13(x0)) 460.09/164.08 mark(isNatList(x0)) 460.09/164.08 mark(U21(x0, x1)) 460.09/164.08 mark(U22(x0, x1)) 460.09/164.08 mark(isNatKind(x0)) 460.09/164.08 mark(U23(x0)) 460.09/164.08 mark(isNat(x0)) 460.09/164.08 mark(U31(x0, x1)) 460.09/164.08 mark(U32(x0, x1)) 460.09/164.08 mark(U33(x0)) 460.09/164.08 mark(U41(x0, x1, x2)) 460.09/164.08 mark(U42(x0, x1, x2)) 460.09/164.08 mark(U43(x0, x1, x2)) 460.09/164.08 mark(U44(x0, x1, x2)) 460.09/164.08 mark(U45(x0, x1)) 460.09/164.08 mark(U46(x0)) 460.09/164.08 mark(isNatIList(x0)) 460.09/164.08 mark(U51(x0, x1)) 460.09/164.08 mark(U52(x0)) 460.09/164.08 mark(U61(x0)) 460.09/164.08 mark(U71(x0)) 460.09/164.08 mark(U81(x0, x1, x2)) 460.09/164.08 mark(U82(x0, x1, x2)) 460.09/164.08 mark(U83(x0, x1, x2)) 460.09/164.08 mark(U84(x0, x1, x2)) 460.09/164.08 mark(U85(x0, x1)) 460.09/164.08 mark(U86(x0)) 460.09/164.08 mark(U91(x0, x1, x2)) 460.09/164.08 mark(U92(x0, x1, x2)) 460.09/164.08 mark(U93(x0, x1, x2)) 460.09/164.08 mark(U94(x0, x1)) 460.09/164.08 mark(s(x0)) 460.09/164.08 mark(length(x0)) 460.09/164.08 mark(nil) 460.09/164.08 460.09/164.08 We have to consider all minimal (P,Q,R)-chains. 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (108) QDPSizeChangeProof (EQUIVALENT) 460.09/164.08 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. 460.09/164.08 460.09/164.08 From the DPs we obtained the following set of size-change graphs: 460.09/164.08 *U52^1(active(X)) -> U52^1(X) 460.09/164.08 The graph contains the following edges 1 > 1 460.09/164.08 460.09/164.08 460.09/164.08 *U52^1(mark(X)) -> U52^1(X) 460.09/164.08 The graph contains the following edges 1 > 1 460.09/164.08 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (109) 460.09/164.08 YES 460.09/164.08 460.09/164.08 ---------------------------------------- 460.09/164.08 460.09/164.08 (110) 460.09/164.08 Obligation: 460.09/164.08 Q DP problem: 460.09/164.08 The TRS P consists of the following rules: 460.09/164.08 460.09/164.08 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 460.09/164.08 U51^1(mark(X1), X2) -> U51^1(X1, X2) 460.09/164.08 U51^1(active(X1), X2) -> U51^1(X1, X2) 460.09/164.08 U51^1(X1, active(X2)) -> U51^1(X1, X2) 460.09/164.08 460.09/164.08 The TRS R consists of the following rules: 460.09/164.08 460.09/164.08 active(zeros) -> mark(cons(0, zeros)) 460.09/164.08 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.08 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.08 active(U13(tt)) -> mark(tt) 460.09/164.08 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.08 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.08 active(U23(tt)) -> mark(tt) 460.09/164.08 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.08 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.08 active(U33(tt)) -> mark(tt) 460.09/164.08 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.08 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.08 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.08 active(U46(tt)) -> mark(tt) 460.09/164.08 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.08 active(U52(tt)) -> mark(tt) 460.09/164.08 active(U61(tt)) -> mark(tt) 460.09/164.08 active(U71(tt)) -> mark(tt) 460.09/164.08 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.08 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.08 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.08 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.08 active(U86(tt)) -> mark(tt) 460.09/164.08 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.08 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.08 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.08 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.08 active(isNat(0)) -> mark(tt) 460.09/164.08 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.08 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.08 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.08 active(isNatIList(zeros)) -> mark(tt) 460.09/164.08 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.08 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.08 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.08 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.08 active(isNatKind(0)) -> mark(tt) 460.09/164.08 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.08 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.08 active(isNatList(nil)) -> mark(tt) 460.09/164.08 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.08 active(length(nil)) -> mark(0) 460.09/164.08 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.08 mark(zeros) -> active(zeros) 460.09/164.08 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.08 mark(0) -> active(0) 460.09/164.08 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.08 mark(tt) -> active(tt) 460.09/164.08 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.08 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.08 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.08 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.08 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.08 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.08 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.08 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.08 mark(isNat(X)) -> active(isNat(X)) 460.09/164.08 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.08 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.08 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.08 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.08 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.08 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.08 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.08 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.08 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.08 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.08 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.08 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.08 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.08 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.08 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.08 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.08 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.08 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.08 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.08 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.08 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.08 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.08 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.08 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.08 mark(s(X)) -> active(s(mark(X))) 460.09/164.08 mark(length(X)) -> active(length(mark(X))) 460.09/164.08 mark(nil) -> active(nil) 460.09/164.08 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.08 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.08 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.08 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.08 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.08 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.08 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.08 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.08 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.08 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.08 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.08 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.08 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.08 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.08 U13(mark(X)) -> U13(X) 460.09/164.08 U13(active(X)) -> U13(X) 460.09/164.08 isNatList(mark(X)) -> isNatList(X) 460.09/164.08 isNatList(active(X)) -> isNatList(X) 460.09/164.08 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.08 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.08 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.08 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.08 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.08 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.08 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.08 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.08 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.08 isNatKind(active(X)) -> isNatKind(X) 460.09/164.08 U23(mark(X)) -> U23(X) 460.09/164.08 U23(active(X)) -> U23(X) 460.09/164.08 isNat(mark(X)) -> isNat(X) 460.09/164.08 isNat(active(X)) -> isNat(X) 460.09/164.08 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.08 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.08 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.08 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.08 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.08 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.08 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.08 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.08 U33(mark(X)) -> U33(X) 460.09/164.08 U33(active(X)) -> U33(X) 460.09/164.08 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.08 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.08 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.08 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.08 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.08 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.08 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.08 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.08 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.08 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.08 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.08 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.08 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.08 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.08 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.08 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.08 U46(mark(X)) -> U46(X) 460.09/164.08 U46(active(X)) -> U46(X) 460.09/164.08 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.08 isNatIList(active(X)) -> isNatIList(X) 460.09/164.08 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.08 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.08 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.08 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.08 U52(mark(X)) -> U52(X) 460.09/164.08 U52(active(X)) -> U52(X) 460.09/164.08 U61(mark(X)) -> U61(X) 460.09/164.08 U61(active(X)) -> U61(X) 460.09/164.08 U71(mark(X)) -> U71(X) 460.09/164.08 U71(active(X)) -> U71(X) 460.09/164.08 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.08 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.08 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.08 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.08 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.08 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.08 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.08 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.08 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.08 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.08 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.08 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.08 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.08 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.08 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.08 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.08 U86(mark(X)) -> U86(X) 460.09/164.08 U86(active(X)) -> U86(X) 460.09/164.08 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.08 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.08 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.08 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.08 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.08 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.08 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.08 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.08 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.08 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.08 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.08 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.08 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.08 s(mark(X)) -> s(X) 460.09/164.08 s(active(X)) -> s(X) 460.09/164.08 length(mark(X)) -> length(X) 460.09/164.08 length(active(X)) -> length(X) 460.09/164.09 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (111) UsableRulesProof (EQUIVALENT) 460.09/164.09 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. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (112) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 460.09/164.09 U51^1(mark(X1), X2) -> U51^1(X1, X2) 460.09/164.09 U51^1(active(X1), X2) -> U51^1(X1, X2) 460.09/164.09 U51^1(X1, active(X2)) -> U51^1(X1, X2) 460.09/164.09 460.09/164.09 R is empty. 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (113) QReductionProof (EQUIVALENT) 460.09/164.09 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.09 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (114) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 460.09/164.09 U51^1(mark(X1), X2) -> U51^1(X1, X2) 460.09/164.09 U51^1(active(X1), X2) -> U51^1(X1, X2) 460.09/164.09 U51^1(X1, active(X2)) -> U51^1(X1, X2) 460.09/164.09 460.09/164.09 R is empty. 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (115) QDPSizeChangeProof (EQUIVALENT) 460.09/164.09 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. 460.09/164.09 460.09/164.09 From the DPs we obtained the following set of size-change graphs: 460.09/164.09 *U51^1(X1, mark(X2)) -> U51^1(X1, X2) 460.09/164.09 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.09 460.09/164.09 460.09/164.09 *U51^1(mark(X1), X2) -> U51^1(X1, X2) 460.09/164.09 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.09 460.09/164.09 460.09/164.09 *U51^1(active(X1), X2) -> U51^1(X1, X2) 460.09/164.09 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.09 460.09/164.09 460.09/164.09 *U51^1(X1, active(X2)) -> U51^1(X1, X2) 460.09/164.09 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.09 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (116) 460.09/164.09 YES 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (117) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 ISNATILIST(active(X)) -> ISNATILIST(X) 460.09/164.09 ISNATILIST(mark(X)) -> ISNATILIST(X) 460.09/164.09 460.09/164.09 The TRS R consists of the following rules: 460.09/164.09 460.09/164.09 active(zeros) -> mark(cons(0, zeros)) 460.09/164.09 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.09 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.09 active(U13(tt)) -> mark(tt) 460.09/164.09 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.09 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.09 active(U23(tt)) -> mark(tt) 460.09/164.09 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.09 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.09 active(U33(tt)) -> mark(tt) 460.09/164.09 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.09 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.09 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.09 active(U46(tt)) -> mark(tt) 460.09/164.09 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.09 active(U52(tt)) -> mark(tt) 460.09/164.09 active(U61(tt)) -> mark(tt) 460.09/164.09 active(U71(tt)) -> mark(tt) 460.09/164.09 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.09 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.09 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.09 active(U86(tt)) -> mark(tt) 460.09/164.09 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.09 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.09 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.09 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.09 active(isNat(0)) -> mark(tt) 460.09/164.09 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.09 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.09 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.09 active(isNatIList(zeros)) -> mark(tt) 460.09/164.09 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.09 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.09 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.09 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.09 active(isNatKind(0)) -> mark(tt) 460.09/164.09 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.09 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.09 active(isNatList(nil)) -> mark(tt) 460.09/164.09 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.09 active(length(nil)) -> mark(0) 460.09/164.09 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.09 mark(zeros) -> active(zeros) 460.09/164.09 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.09 mark(0) -> active(0) 460.09/164.09 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.09 mark(tt) -> active(tt) 460.09/164.09 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.09 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.09 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.09 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.09 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.09 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.09 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.09 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.09 mark(isNat(X)) -> active(isNat(X)) 460.09/164.09 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.09 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.09 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.09 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.09 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.09 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.09 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.09 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.09 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.09 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.09 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.09 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.09 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.09 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.09 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.09 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.09 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.09 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.09 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.09 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.09 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.09 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.09 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.09 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.09 mark(s(X)) -> active(s(mark(X))) 460.09/164.09 mark(length(X)) -> active(length(mark(X))) 460.09/164.09 mark(nil) -> active(nil) 460.09/164.09 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.09 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.09 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.09 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.09 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.09 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.09 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.09 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.09 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.09 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.09 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.09 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.09 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.09 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.09 U13(mark(X)) -> U13(X) 460.09/164.09 U13(active(X)) -> U13(X) 460.09/164.09 isNatList(mark(X)) -> isNatList(X) 460.09/164.09 isNatList(active(X)) -> isNatList(X) 460.09/164.09 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.09 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.09 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.09 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.09 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.09 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.09 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.09 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.09 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.09 isNatKind(active(X)) -> isNatKind(X) 460.09/164.09 U23(mark(X)) -> U23(X) 460.09/164.09 U23(active(X)) -> U23(X) 460.09/164.09 isNat(mark(X)) -> isNat(X) 460.09/164.09 isNat(active(X)) -> isNat(X) 460.09/164.09 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.09 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.09 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.09 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.09 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.09 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.09 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.09 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.09 U33(mark(X)) -> U33(X) 460.09/164.09 U33(active(X)) -> U33(X) 460.09/164.09 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.09 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.09 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.09 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.09 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.09 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.09 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.09 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.09 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.09 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.09 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.09 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.09 U46(mark(X)) -> U46(X) 460.09/164.09 U46(active(X)) -> U46(X) 460.09/164.09 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.09 isNatIList(active(X)) -> isNatIList(X) 460.09/164.09 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.09 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.09 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.09 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.09 U52(mark(X)) -> U52(X) 460.09/164.09 U52(active(X)) -> U52(X) 460.09/164.09 U61(mark(X)) -> U61(X) 460.09/164.09 U61(active(X)) -> U61(X) 460.09/164.09 U71(mark(X)) -> U71(X) 460.09/164.09 U71(active(X)) -> U71(X) 460.09/164.09 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.09 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.09 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.09 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.09 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.09 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.09 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.09 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.09 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.09 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.09 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.09 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.09 U86(mark(X)) -> U86(X) 460.09/164.09 U86(active(X)) -> U86(X) 460.09/164.09 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.09 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.09 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.09 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.09 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.09 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.09 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.09 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.09 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.09 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.09 s(mark(X)) -> s(X) 460.09/164.09 s(active(X)) -> s(X) 460.09/164.09 length(mark(X)) -> length(X) 460.09/164.09 length(active(X)) -> length(X) 460.09/164.09 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (118) UsableRulesProof (EQUIVALENT) 460.09/164.09 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. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (119) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 ISNATILIST(active(X)) -> ISNATILIST(X) 460.09/164.09 ISNATILIST(mark(X)) -> ISNATILIST(X) 460.09/164.09 460.09/164.09 R is empty. 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (120) QReductionProof (EQUIVALENT) 460.09/164.09 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.09 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.09 U41(x0, active(x1), x2) 460.09/164.09 U41(x0, x1, active(x2)) 460.09/164.09 U42(mark(x0), x1, x2) 460.09/164.09 U42(x0, mark(x1), x2) 460.09/164.09 U42(x0, x1, mark(x2)) 460.09/164.09 U42(active(x0), x1, x2) 460.09/164.09 U42(x0, active(x1), x2) 460.09/164.09 U42(x0, x1, active(x2)) 460.09/164.09 U43(mark(x0), x1, x2) 460.09/164.09 U43(x0, mark(x1), x2) 460.09/164.09 U43(x0, x1, mark(x2)) 460.09/164.09 U43(active(x0), x1, x2) 460.09/164.09 U43(x0, active(x1), x2) 460.09/164.09 U43(x0, x1, active(x2)) 460.09/164.09 U44(mark(x0), x1, x2) 460.09/164.09 U44(x0, mark(x1), x2) 460.09/164.09 U44(x0, x1, mark(x2)) 460.09/164.09 U44(active(x0), x1, x2) 460.09/164.09 U44(x0, active(x1), x2) 460.09/164.09 U44(x0, x1, active(x2)) 460.09/164.09 U45(mark(x0), x1) 460.09/164.09 U45(x0, mark(x1)) 460.09/164.09 U45(active(x0), x1) 460.09/164.09 U45(x0, active(x1)) 460.09/164.09 U46(mark(x0)) 460.09/164.09 U46(active(x0)) 460.09/164.09 isNatIList(mark(x0)) 460.09/164.09 isNatIList(active(x0)) 460.09/164.09 U51(mark(x0), x1) 460.09/164.09 U51(x0, mark(x1)) 460.09/164.09 U51(active(x0), x1) 460.09/164.09 U51(x0, active(x1)) 460.09/164.09 U52(mark(x0)) 460.09/164.09 U52(active(x0)) 460.09/164.09 U61(mark(x0)) 460.09/164.09 U61(active(x0)) 460.09/164.09 U71(mark(x0)) 460.09/164.09 U71(active(x0)) 460.09/164.09 U81(mark(x0), x1, x2) 460.09/164.09 U81(x0, mark(x1), x2) 460.09/164.09 U81(x0, x1, mark(x2)) 460.09/164.09 U81(active(x0), x1, x2) 460.09/164.09 U81(x0, active(x1), x2) 460.09/164.09 U81(x0, x1, active(x2)) 460.09/164.09 U82(mark(x0), x1, x2) 460.09/164.09 U82(x0, mark(x1), x2) 460.09/164.09 U82(x0, x1, mark(x2)) 460.09/164.09 U82(active(x0), x1, x2) 460.09/164.09 U82(x0, active(x1), x2) 460.09/164.09 U82(x0, x1, active(x2)) 460.09/164.09 U83(mark(x0), x1, x2) 460.09/164.09 U83(x0, mark(x1), x2) 460.09/164.09 U83(x0, x1, mark(x2)) 460.09/164.09 U83(active(x0), x1, x2) 460.09/164.09 U83(x0, active(x1), x2) 460.09/164.09 U83(x0, x1, active(x2)) 460.09/164.09 U84(mark(x0), x1, x2) 460.09/164.09 U84(x0, mark(x1), x2) 460.09/164.09 U84(x0, x1, mark(x2)) 460.09/164.09 U84(active(x0), x1, x2) 460.09/164.09 U84(x0, active(x1), x2) 460.09/164.09 U84(x0, x1, active(x2)) 460.09/164.09 U85(mark(x0), x1) 460.09/164.09 U85(x0, mark(x1)) 460.09/164.09 U85(active(x0), x1) 460.09/164.09 U85(x0, active(x1)) 460.09/164.09 U86(mark(x0)) 460.09/164.09 U86(active(x0)) 460.09/164.09 U91(mark(x0), x1, x2) 460.09/164.09 U91(x0, mark(x1), x2) 460.09/164.09 U91(x0, x1, mark(x2)) 460.09/164.09 U91(active(x0), x1, x2) 460.09/164.09 U91(x0, active(x1), x2) 460.09/164.09 U91(x0, x1, active(x2)) 460.09/164.09 U92(mark(x0), x1, x2) 460.09/164.09 U92(x0, mark(x1), x2) 460.09/164.09 U92(x0, x1, mark(x2)) 460.09/164.09 U92(active(x0), x1, x2) 460.09/164.09 U92(x0, active(x1), x2) 460.09/164.09 U92(x0, x1, active(x2)) 460.09/164.09 U93(mark(x0), x1, x2) 460.09/164.09 U93(x0, mark(x1), x2) 460.09/164.09 U93(x0, x1, mark(x2)) 460.09/164.09 U93(active(x0), x1, x2) 460.09/164.09 U93(x0, active(x1), x2) 460.09/164.09 U93(x0, x1, active(x2)) 460.09/164.09 U94(mark(x0), x1) 460.09/164.09 U94(x0, mark(x1)) 460.09/164.09 U94(active(x0), x1) 460.09/164.09 U94(x0, active(x1)) 460.09/164.09 s(mark(x0)) 460.09/164.09 s(active(x0)) 460.09/164.09 length(mark(x0)) 460.09/164.09 length(active(x0)) 460.09/164.09 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (121) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 ISNATILIST(active(X)) -> ISNATILIST(X) 460.09/164.09 ISNATILIST(mark(X)) -> ISNATILIST(X) 460.09/164.09 460.09/164.09 R is empty. 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 460.09/164.09 We have to consider all minimal (P,Q,R)-chains. 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (122) QDPSizeChangeProof (EQUIVALENT) 460.09/164.09 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. 460.09/164.09 460.09/164.09 From the DPs we obtained the following set of size-change graphs: 460.09/164.09 *ISNATILIST(active(X)) -> ISNATILIST(X) 460.09/164.09 The graph contains the following edges 1 > 1 460.09/164.09 460.09/164.09 460.09/164.09 *ISNATILIST(mark(X)) -> ISNATILIST(X) 460.09/164.09 The graph contains the following edges 1 > 1 460.09/164.09 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (123) 460.09/164.09 YES 460.09/164.09 460.09/164.09 ---------------------------------------- 460.09/164.09 460.09/164.09 (124) 460.09/164.09 Obligation: 460.09/164.09 Q DP problem: 460.09/164.09 The TRS P consists of the following rules: 460.09/164.09 460.09/164.09 U46^1(active(X)) -> U46^1(X) 460.09/164.09 U46^1(mark(X)) -> U46^1(X) 460.09/164.09 460.09/164.09 The TRS R consists of the following rules: 460.09/164.09 460.09/164.09 active(zeros) -> mark(cons(0, zeros)) 460.09/164.09 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.09 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.09 active(U13(tt)) -> mark(tt) 460.09/164.09 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.09 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.09 active(U23(tt)) -> mark(tt) 460.09/164.09 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.09 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.09 active(U33(tt)) -> mark(tt) 460.09/164.09 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.09 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.09 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.09 active(U46(tt)) -> mark(tt) 460.09/164.09 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.09 active(U52(tt)) -> mark(tt) 460.09/164.09 active(U61(tt)) -> mark(tt) 460.09/164.09 active(U71(tt)) -> mark(tt) 460.09/164.09 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.09 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.09 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.09 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.09 active(U86(tt)) -> mark(tt) 460.09/164.09 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.09 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.09 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.09 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.09 active(isNat(0)) -> mark(tt) 460.09/164.09 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.09 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.09 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.09 active(isNatIList(zeros)) -> mark(tt) 460.09/164.09 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.09 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.09 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.09 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.09 active(isNatKind(0)) -> mark(tt) 460.09/164.09 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.09 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.09 active(isNatList(nil)) -> mark(tt) 460.09/164.09 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.09 active(length(nil)) -> mark(0) 460.09/164.09 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.09 mark(zeros) -> active(zeros) 460.09/164.09 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.09 mark(0) -> active(0) 460.09/164.09 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.09 mark(tt) -> active(tt) 460.09/164.09 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.09 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.09 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.09 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.09 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.09 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.09 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.09 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.09 mark(isNat(X)) -> active(isNat(X)) 460.09/164.09 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.09 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.09 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.09 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.09 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.09 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.09 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.09 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.09 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.09 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.09 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.09 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.09 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.09 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.09 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.09 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.09 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.09 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.09 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.09 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.09 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.09 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.09 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.09 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.09 mark(s(X)) -> active(s(mark(X))) 460.09/164.09 mark(length(X)) -> active(length(mark(X))) 460.09/164.09 mark(nil) -> active(nil) 460.09/164.09 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.09 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.09 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.09 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.09 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.09 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.09 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.09 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.09 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.09 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.09 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.09 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.09 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.09 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.09 U13(mark(X)) -> U13(X) 460.09/164.09 U13(active(X)) -> U13(X) 460.09/164.09 isNatList(mark(X)) -> isNatList(X) 460.09/164.09 isNatList(active(X)) -> isNatList(X) 460.09/164.09 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.09 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.09 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.09 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.09 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.09 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.09 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.09 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.09 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.09 isNatKind(active(X)) -> isNatKind(X) 460.09/164.09 U23(mark(X)) -> U23(X) 460.09/164.09 U23(active(X)) -> U23(X) 460.09/164.09 isNat(mark(X)) -> isNat(X) 460.09/164.09 isNat(active(X)) -> isNat(X) 460.09/164.09 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.09 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.09 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.09 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.09 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.09 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.09 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.09 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.09 U33(mark(X)) -> U33(X) 460.09/164.09 U33(active(X)) -> U33(X) 460.09/164.09 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.09 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.09 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.09 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.09 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.09 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.09 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.09 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.09 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.09 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.09 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.09 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.09 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.09 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.09 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.09 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.09 U46(mark(X)) -> U46(X) 460.09/164.09 U46(active(X)) -> U46(X) 460.09/164.09 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.09 isNatIList(active(X)) -> isNatIList(X) 460.09/164.09 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.09 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.09 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.09 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.09 U52(mark(X)) -> U52(X) 460.09/164.09 U52(active(X)) -> U52(X) 460.09/164.09 U61(mark(X)) -> U61(X) 460.09/164.09 U61(active(X)) -> U61(X) 460.09/164.09 U71(mark(X)) -> U71(X) 460.09/164.09 U71(active(X)) -> U71(X) 460.09/164.09 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.09 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.09 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.09 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.09 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.09 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.09 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.09 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.09 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.09 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.09 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.09 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.09 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.09 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.09 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.09 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.09 U86(mark(X)) -> U86(X) 460.09/164.09 U86(active(X)) -> U86(X) 460.09/164.09 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.09 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.09 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.09 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.09 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.09 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.09 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.09 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.09 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.09 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.09 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.09 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.09 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.09 s(mark(X)) -> s(X) 460.09/164.09 s(active(X)) -> s(X) 460.09/164.09 length(mark(X)) -> length(X) 460.09/164.09 length(active(X)) -> length(X) 460.09/164.09 460.09/164.09 The set Q consists of the following terms: 460.09/164.09 460.09/164.09 active(zeros) 460.09/164.09 active(U11(tt, x0)) 460.09/164.09 active(U12(tt, x0)) 460.09/164.09 active(U13(tt)) 460.09/164.09 active(U21(tt, x0)) 460.09/164.09 active(U22(tt, x0)) 460.09/164.09 active(U23(tt)) 460.09/164.09 active(U31(tt, x0)) 460.09/164.09 active(U32(tt, x0)) 460.09/164.09 active(U33(tt)) 460.09/164.09 active(U41(tt, x0, x1)) 460.09/164.09 active(U42(tt, x0, x1)) 460.09/164.09 active(U43(tt, x0, x1)) 460.09/164.09 active(U44(tt, x0, x1)) 460.09/164.09 active(U45(tt, x0)) 460.09/164.09 active(U46(tt)) 460.09/164.09 active(U51(tt, x0)) 460.09/164.09 active(U52(tt)) 460.09/164.09 active(U61(tt)) 460.09/164.09 active(U71(tt)) 460.09/164.09 active(U81(tt, x0, x1)) 460.09/164.09 active(U82(tt, x0, x1)) 460.09/164.09 active(U83(tt, x0, x1)) 460.09/164.09 active(U84(tt, x0, x1)) 460.09/164.09 active(U85(tt, x0)) 460.09/164.09 active(U86(tt)) 460.09/164.09 active(U91(tt, x0, x1)) 460.09/164.09 active(U92(tt, x0, x1)) 460.09/164.09 active(U93(tt, x0, x1)) 460.09/164.09 active(U94(tt, x0)) 460.09/164.09 active(isNat(0)) 460.09/164.09 active(isNat(length(x0))) 460.09/164.09 active(isNat(s(x0))) 460.09/164.09 active(isNatIList(x0)) 460.09/164.09 active(isNatIListKind(nil)) 460.09/164.09 active(isNatIListKind(zeros)) 460.09/164.09 active(isNatIListKind(cons(x0, x1))) 460.09/164.09 active(isNatKind(0)) 460.09/164.09 active(isNatKind(length(x0))) 460.09/164.09 active(isNatKind(s(x0))) 460.09/164.09 active(isNatList(nil)) 460.09/164.09 active(isNatList(cons(x0, x1))) 460.09/164.09 active(length(nil)) 460.09/164.09 active(length(cons(x0, x1))) 460.09/164.09 mark(zeros) 460.09/164.09 mark(cons(x0, x1)) 460.09/164.09 mark(0) 460.09/164.09 mark(U11(x0, x1)) 460.09/164.09 mark(tt) 460.09/164.09 mark(U12(x0, x1)) 460.09/164.09 mark(isNatIListKind(x0)) 460.09/164.09 mark(U13(x0)) 460.09/164.09 mark(isNatList(x0)) 460.09/164.09 mark(U21(x0, x1)) 460.09/164.09 mark(U22(x0, x1)) 460.09/164.09 mark(isNatKind(x0)) 460.09/164.09 mark(U23(x0)) 460.09/164.09 mark(isNat(x0)) 460.09/164.09 mark(U31(x0, x1)) 460.09/164.09 mark(U32(x0, x1)) 460.09/164.09 mark(U33(x0)) 460.09/164.09 mark(U41(x0, x1, x2)) 460.09/164.09 mark(U42(x0, x1, x2)) 460.09/164.09 mark(U43(x0, x1, x2)) 460.09/164.09 mark(U44(x0, x1, x2)) 460.09/164.09 mark(U45(x0, x1)) 460.09/164.09 mark(U46(x0)) 460.09/164.09 mark(isNatIList(x0)) 460.09/164.09 mark(U51(x0, x1)) 460.09/164.09 mark(U52(x0)) 460.09/164.09 mark(U61(x0)) 460.09/164.09 mark(U71(x0)) 460.09/164.09 mark(U81(x0, x1, x2)) 460.09/164.09 mark(U82(x0, x1, x2)) 460.09/164.09 mark(U83(x0, x1, x2)) 460.09/164.09 mark(U84(x0, x1, x2)) 460.09/164.09 mark(U85(x0, x1)) 460.09/164.09 mark(U86(x0)) 460.09/164.09 mark(U91(x0, x1, x2)) 460.09/164.09 mark(U92(x0, x1, x2)) 460.09/164.09 mark(U93(x0, x1, x2)) 460.09/164.09 mark(U94(x0, x1)) 460.09/164.09 mark(s(x0)) 460.09/164.09 mark(length(x0)) 460.09/164.09 mark(nil) 460.09/164.09 cons(mark(x0), x1) 460.09/164.09 cons(x0, mark(x1)) 460.09/164.09 cons(active(x0), x1) 460.09/164.09 cons(x0, active(x1)) 460.09/164.09 U11(mark(x0), x1) 460.09/164.09 U11(x0, mark(x1)) 460.09/164.09 U11(active(x0), x1) 460.09/164.09 U11(x0, active(x1)) 460.09/164.09 U12(mark(x0), x1) 460.09/164.09 U12(x0, mark(x1)) 460.09/164.09 U12(active(x0), x1) 460.09/164.09 U12(x0, active(x1)) 460.09/164.09 isNatIListKind(mark(x0)) 460.09/164.09 isNatIListKind(active(x0)) 460.09/164.09 U13(mark(x0)) 460.09/164.09 U13(active(x0)) 460.09/164.09 isNatList(mark(x0)) 460.09/164.09 isNatList(active(x0)) 460.09/164.09 U21(mark(x0), x1) 460.09/164.09 U21(x0, mark(x1)) 460.09/164.09 U21(active(x0), x1) 460.09/164.09 U21(x0, active(x1)) 460.09/164.09 U22(mark(x0), x1) 460.09/164.09 U22(x0, mark(x1)) 460.09/164.09 U22(active(x0), x1) 460.09/164.09 U22(x0, active(x1)) 460.09/164.09 isNatKind(mark(x0)) 460.09/164.09 isNatKind(active(x0)) 460.09/164.09 U23(mark(x0)) 460.09/164.09 U23(active(x0)) 460.09/164.09 isNat(mark(x0)) 460.09/164.09 isNat(active(x0)) 460.09/164.09 U31(mark(x0), x1) 460.09/164.09 U31(x0, mark(x1)) 460.09/164.09 U31(active(x0), x1) 460.09/164.09 U31(x0, active(x1)) 460.09/164.09 U32(mark(x0), x1) 460.09/164.09 U32(x0, mark(x1)) 460.09/164.09 U32(active(x0), x1) 460.09/164.09 U32(x0, active(x1)) 460.09/164.09 U33(mark(x0)) 460.09/164.09 U33(active(x0)) 460.09/164.09 U41(mark(x0), x1, x2) 460.09/164.09 U41(x0, mark(x1), x2) 460.09/164.09 U41(x0, x1, mark(x2)) 460.09/164.09 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (125) UsableRulesProof (EQUIVALENT) 460.09/164.10 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. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (126) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U46^1(active(X)) -> U46^1(X) 460.09/164.10 U46^1(mark(X)) -> U46^1(X) 460.09/164.10 460.09/164.10 R is empty. 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (127) QReductionProof (EQUIVALENT) 460.09/164.10 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.10 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (128) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U46^1(active(X)) -> U46^1(X) 460.09/164.10 U46^1(mark(X)) -> U46^1(X) 460.09/164.10 460.09/164.10 R is empty. 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (129) QDPSizeChangeProof (EQUIVALENT) 460.09/164.10 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. 460.09/164.10 460.09/164.10 From the DPs we obtained the following set of size-change graphs: 460.09/164.10 *U46^1(active(X)) -> U46^1(X) 460.09/164.10 The graph contains the following edges 1 > 1 460.09/164.10 460.09/164.10 460.09/164.10 *U46^1(mark(X)) -> U46^1(X) 460.09/164.10 The graph contains the following edges 1 > 1 460.09/164.10 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (130) 460.09/164.10 YES 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (131) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U45^1(X1, mark(X2)) -> U45^1(X1, X2) 460.09/164.10 U45^1(mark(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(active(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(X1, active(X2)) -> U45^1(X1, X2) 460.09/164.10 460.09/164.10 The TRS R consists of the following rules: 460.09/164.10 460.09/164.10 active(zeros) -> mark(cons(0, zeros)) 460.09/164.10 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.10 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.10 active(U13(tt)) -> mark(tt) 460.09/164.10 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.10 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.10 active(U23(tt)) -> mark(tt) 460.09/164.10 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.10 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.10 active(U33(tt)) -> mark(tt) 460.09/164.10 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.10 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.10 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.10 active(U46(tt)) -> mark(tt) 460.09/164.10 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.10 active(U52(tt)) -> mark(tt) 460.09/164.10 active(U61(tt)) -> mark(tt) 460.09/164.10 active(U71(tt)) -> mark(tt) 460.09/164.10 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.10 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.10 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.10 active(U86(tt)) -> mark(tt) 460.09/164.10 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.10 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.10 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.10 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.10 active(isNat(0)) -> mark(tt) 460.09/164.10 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.10 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.10 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.10 active(isNatIList(zeros)) -> mark(tt) 460.09/164.10 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.10 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.10 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.10 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.10 active(isNatKind(0)) -> mark(tt) 460.09/164.10 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.10 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.10 active(isNatList(nil)) -> mark(tt) 460.09/164.10 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.10 active(length(nil)) -> mark(0) 460.09/164.10 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.10 mark(zeros) -> active(zeros) 460.09/164.10 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.10 mark(0) -> active(0) 460.09/164.10 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.10 mark(tt) -> active(tt) 460.09/164.10 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.10 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.10 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.10 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.10 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.10 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.10 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.10 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.10 mark(isNat(X)) -> active(isNat(X)) 460.09/164.10 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.10 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.10 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.10 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.10 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.10 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.10 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.10 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.10 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.10 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.10 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.10 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.10 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.10 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.10 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.10 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.10 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.10 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.10 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.10 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.10 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.10 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.10 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.10 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.10 mark(s(X)) -> active(s(mark(X))) 460.09/164.10 mark(length(X)) -> active(length(mark(X))) 460.09/164.10 mark(nil) -> active(nil) 460.09/164.10 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.10 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.10 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.10 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.10 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.10 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.10 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.10 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.10 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.10 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.10 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.10 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.10 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.10 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.10 U13(mark(X)) -> U13(X) 460.09/164.10 U13(active(X)) -> U13(X) 460.09/164.10 isNatList(mark(X)) -> isNatList(X) 460.09/164.10 isNatList(active(X)) -> isNatList(X) 460.09/164.10 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.10 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.10 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.10 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.10 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.10 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.10 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.10 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.10 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.10 isNatKind(active(X)) -> isNatKind(X) 460.09/164.10 U23(mark(X)) -> U23(X) 460.09/164.10 U23(active(X)) -> U23(X) 460.09/164.10 isNat(mark(X)) -> isNat(X) 460.09/164.10 isNat(active(X)) -> isNat(X) 460.09/164.10 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.10 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.10 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.10 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.10 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.10 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.10 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.10 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.10 U33(mark(X)) -> U33(X) 460.09/164.10 U33(active(X)) -> U33(X) 460.09/164.10 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.10 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.10 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.10 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.10 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.10 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.10 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.10 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.10 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.10 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.10 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.10 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.10 U46(mark(X)) -> U46(X) 460.09/164.10 U46(active(X)) -> U46(X) 460.09/164.10 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.10 isNatIList(active(X)) -> isNatIList(X) 460.09/164.10 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.10 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.10 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.10 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.10 U52(mark(X)) -> U52(X) 460.09/164.10 U52(active(X)) -> U52(X) 460.09/164.10 U61(mark(X)) -> U61(X) 460.09/164.10 U61(active(X)) -> U61(X) 460.09/164.10 U71(mark(X)) -> U71(X) 460.09/164.10 U71(active(X)) -> U71(X) 460.09/164.10 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.10 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.10 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.10 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.10 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.10 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.10 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.10 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.10 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.10 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.10 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.10 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.10 U86(mark(X)) -> U86(X) 460.09/164.10 U86(active(X)) -> U86(X) 460.09/164.10 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.10 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.10 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.10 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.10 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.10 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.10 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.10 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.10 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.10 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.10 s(mark(X)) -> s(X) 460.09/164.10 s(active(X)) -> s(X) 460.09/164.10 length(mark(X)) -> length(X) 460.09/164.10 length(active(X)) -> length(X) 460.09/164.10 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (132) UsableRulesProof (EQUIVALENT) 460.09/164.10 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. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (133) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U45^1(X1, mark(X2)) -> U45^1(X1, X2) 460.09/164.10 U45^1(mark(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(active(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(X1, active(X2)) -> U45^1(X1, X2) 460.09/164.10 460.09/164.10 R is empty. 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (134) QReductionProof (EQUIVALENT) 460.09/164.10 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.10 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (135) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U45^1(X1, mark(X2)) -> U45^1(X1, X2) 460.09/164.10 U45^1(mark(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(active(X1), X2) -> U45^1(X1, X2) 460.09/164.10 U45^1(X1, active(X2)) -> U45^1(X1, X2) 460.09/164.10 460.09/164.10 R is empty. 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (136) QDPSizeChangeProof (EQUIVALENT) 460.09/164.10 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. 460.09/164.10 460.09/164.10 From the DPs we obtained the following set of size-change graphs: 460.09/164.10 *U45^1(X1, mark(X2)) -> U45^1(X1, X2) 460.09/164.10 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.10 460.09/164.10 460.09/164.10 *U45^1(mark(X1), X2) -> U45^1(X1, X2) 460.09/164.10 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.10 460.09/164.10 460.09/164.10 *U45^1(active(X1), X2) -> U45^1(X1, X2) 460.09/164.10 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.10 460.09/164.10 460.09/164.10 *U45^1(X1, active(X2)) -> U45^1(X1, X2) 460.09/164.10 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.10 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (137) 460.09/164.10 YES 460.09/164.10 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (138) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U44^1(X1, mark(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(mark(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, X2, mark(X3)) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(active(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, active(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, X2, active(X3)) -> U44^1(X1, X2, X3) 460.09/164.10 460.09/164.10 The TRS R consists of the following rules: 460.09/164.10 460.09/164.10 active(zeros) -> mark(cons(0, zeros)) 460.09/164.10 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.10 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.10 active(U13(tt)) -> mark(tt) 460.09/164.10 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.10 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.10 active(U23(tt)) -> mark(tt) 460.09/164.10 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.10 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.10 active(U33(tt)) -> mark(tt) 460.09/164.10 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.10 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.10 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.10 active(U46(tt)) -> mark(tt) 460.09/164.10 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.10 active(U52(tt)) -> mark(tt) 460.09/164.10 active(U61(tt)) -> mark(tt) 460.09/164.10 active(U71(tt)) -> mark(tt) 460.09/164.10 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.10 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.10 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.10 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.10 active(U86(tt)) -> mark(tt) 460.09/164.10 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.10 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.10 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.10 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.10 active(isNat(0)) -> mark(tt) 460.09/164.10 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.10 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.10 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.10 active(isNatIList(zeros)) -> mark(tt) 460.09/164.10 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.10 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.10 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.10 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.10 active(isNatKind(0)) -> mark(tt) 460.09/164.10 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.10 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.10 active(isNatList(nil)) -> mark(tt) 460.09/164.10 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.10 active(length(nil)) -> mark(0) 460.09/164.10 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.10 mark(zeros) -> active(zeros) 460.09/164.10 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.10 mark(0) -> active(0) 460.09/164.10 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.10 mark(tt) -> active(tt) 460.09/164.10 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.10 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.10 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.10 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.10 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.10 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.10 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.10 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.10 mark(isNat(X)) -> active(isNat(X)) 460.09/164.10 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.10 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.10 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.10 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.10 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.10 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.10 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.10 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.10 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.10 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.10 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.10 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.10 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.10 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.10 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.10 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.10 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.10 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.10 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.10 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.10 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.10 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.10 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.10 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.10 mark(s(X)) -> active(s(mark(X))) 460.09/164.10 mark(length(X)) -> active(length(mark(X))) 460.09/164.10 mark(nil) -> active(nil) 460.09/164.10 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.10 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.10 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.10 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.10 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.10 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.10 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.10 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.10 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.10 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.10 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.10 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.10 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.10 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.10 U13(mark(X)) -> U13(X) 460.09/164.10 U13(active(X)) -> U13(X) 460.09/164.10 isNatList(mark(X)) -> isNatList(X) 460.09/164.10 isNatList(active(X)) -> isNatList(X) 460.09/164.10 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.10 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.10 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.10 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.10 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.10 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.10 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.10 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.10 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.10 isNatKind(active(X)) -> isNatKind(X) 460.09/164.10 U23(mark(X)) -> U23(X) 460.09/164.10 U23(active(X)) -> U23(X) 460.09/164.10 isNat(mark(X)) -> isNat(X) 460.09/164.10 isNat(active(X)) -> isNat(X) 460.09/164.10 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.10 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.10 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.10 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.10 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.10 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.10 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.10 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.10 U33(mark(X)) -> U33(X) 460.09/164.10 U33(active(X)) -> U33(X) 460.09/164.10 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.10 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.10 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.10 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.10 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.10 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.10 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.10 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.10 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.10 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.10 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.10 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.10 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.10 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.10 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.10 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.10 U46(mark(X)) -> U46(X) 460.09/164.10 U46(active(X)) -> U46(X) 460.09/164.10 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.10 isNatIList(active(X)) -> isNatIList(X) 460.09/164.10 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.10 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.10 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.10 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.10 U52(mark(X)) -> U52(X) 460.09/164.10 U52(active(X)) -> U52(X) 460.09/164.10 U61(mark(X)) -> U61(X) 460.09/164.10 U61(active(X)) -> U61(X) 460.09/164.10 U71(mark(X)) -> U71(X) 460.09/164.10 U71(active(X)) -> U71(X) 460.09/164.10 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.10 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.10 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.10 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.10 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.10 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.10 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.10 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.10 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.10 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.10 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.10 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.10 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.10 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.10 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.10 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.10 U86(mark(X)) -> U86(X) 460.09/164.10 U86(active(X)) -> U86(X) 460.09/164.10 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.10 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.10 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.10 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.10 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.10 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.10 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.10 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.10 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.10 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.10 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.10 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.10 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.10 s(mark(X)) -> s(X) 460.09/164.10 s(active(X)) -> s(X) 460.09/164.10 length(mark(X)) -> length(X) 460.09/164.10 length(active(X)) -> length(X) 460.09/164.10 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.10 active(isNatIListKind(nil)) 460.09/164.10 active(isNatIListKind(zeros)) 460.09/164.10 active(isNatIListKind(cons(x0, x1))) 460.09/164.10 active(isNatKind(0)) 460.09/164.10 active(isNatKind(length(x0))) 460.09/164.10 active(isNatKind(s(x0))) 460.09/164.10 active(isNatList(nil)) 460.09/164.10 active(isNatList(cons(x0, x1))) 460.09/164.10 active(length(nil)) 460.09/164.10 active(length(cons(x0, x1))) 460.09/164.10 mark(zeros) 460.09/164.10 mark(cons(x0, x1)) 460.09/164.10 mark(0) 460.09/164.10 mark(U11(x0, x1)) 460.09/164.10 mark(tt) 460.09/164.10 mark(U12(x0, x1)) 460.09/164.10 mark(isNatIListKind(x0)) 460.09/164.10 mark(U13(x0)) 460.09/164.10 mark(isNatList(x0)) 460.09/164.10 mark(U21(x0, x1)) 460.09/164.10 mark(U22(x0, x1)) 460.09/164.10 mark(isNatKind(x0)) 460.09/164.10 mark(U23(x0)) 460.09/164.10 mark(isNat(x0)) 460.09/164.10 mark(U31(x0, x1)) 460.09/164.10 mark(U32(x0, x1)) 460.09/164.10 mark(U33(x0)) 460.09/164.10 mark(U41(x0, x1, x2)) 460.09/164.10 mark(U42(x0, x1, x2)) 460.09/164.10 mark(U43(x0, x1, x2)) 460.09/164.10 mark(U44(x0, x1, x2)) 460.09/164.10 mark(U45(x0, x1)) 460.09/164.10 mark(U46(x0)) 460.09/164.10 mark(isNatIList(x0)) 460.09/164.10 mark(U51(x0, x1)) 460.09/164.10 mark(U52(x0)) 460.09/164.10 mark(U61(x0)) 460.09/164.10 mark(U71(x0)) 460.09/164.10 mark(U81(x0, x1, x2)) 460.09/164.10 mark(U82(x0, x1, x2)) 460.09/164.10 mark(U83(x0, x1, x2)) 460.09/164.10 mark(U84(x0, x1, x2)) 460.09/164.10 mark(U85(x0, x1)) 460.09/164.10 mark(U86(x0)) 460.09/164.10 mark(U91(x0, x1, x2)) 460.09/164.10 mark(U92(x0, x1, x2)) 460.09/164.10 mark(U93(x0, x1, x2)) 460.09/164.10 mark(U94(x0, x1)) 460.09/164.10 mark(s(x0)) 460.09/164.10 mark(length(x0)) 460.09/164.10 mark(nil) 460.09/164.10 cons(mark(x0), x1) 460.09/164.10 cons(x0, mark(x1)) 460.09/164.10 cons(active(x0), x1) 460.09/164.10 cons(x0, active(x1)) 460.09/164.10 U11(mark(x0), x1) 460.09/164.10 U11(x0, mark(x1)) 460.09/164.10 U11(active(x0), x1) 460.09/164.10 U11(x0, active(x1)) 460.09/164.10 U12(mark(x0), x1) 460.09/164.10 U12(x0, mark(x1)) 460.09/164.10 U12(active(x0), x1) 460.09/164.10 U12(x0, active(x1)) 460.09/164.10 isNatIListKind(mark(x0)) 460.09/164.10 isNatIListKind(active(x0)) 460.09/164.10 U13(mark(x0)) 460.09/164.10 U13(active(x0)) 460.09/164.10 isNatList(mark(x0)) 460.09/164.10 isNatList(active(x0)) 460.09/164.10 U21(mark(x0), x1) 460.09/164.10 U21(x0, mark(x1)) 460.09/164.10 U21(active(x0), x1) 460.09/164.10 U21(x0, active(x1)) 460.09/164.10 U22(mark(x0), x1) 460.09/164.10 U22(x0, mark(x1)) 460.09/164.10 U22(active(x0), x1) 460.09/164.10 U22(x0, active(x1)) 460.09/164.10 isNatKind(mark(x0)) 460.09/164.10 isNatKind(active(x0)) 460.09/164.10 U23(mark(x0)) 460.09/164.10 U23(active(x0)) 460.09/164.10 isNat(mark(x0)) 460.09/164.10 isNat(active(x0)) 460.09/164.10 U31(mark(x0), x1) 460.09/164.10 U31(x0, mark(x1)) 460.09/164.10 U31(active(x0), x1) 460.09/164.10 U31(x0, active(x1)) 460.09/164.10 U32(mark(x0), x1) 460.09/164.10 U32(x0, mark(x1)) 460.09/164.10 U32(active(x0), x1) 460.09/164.10 U32(x0, active(x1)) 460.09/164.10 U33(mark(x0)) 460.09/164.10 U33(active(x0)) 460.09/164.10 U41(mark(x0), x1, x2) 460.09/164.10 U41(x0, mark(x1), x2) 460.09/164.10 U41(x0, x1, mark(x2)) 460.09/164.10 U41(active(x0), x1, x2) 460.09/164.10 U41(x0, active(x1), x2) 460.09/164.10 U41(x0, x1, active(x2)) 460.09/164.10 U42(mark(x0), x1, x2) 460.09/164.10 U42(x0, mark(x1), x2) 460.09/164.10 U42(x0, x1, mark(x2)) 460.09/164.10 U42(active(x0), x1, x2) 460.09/164.10 U42(x0, active(x1), x2) 460.09/164.10 U42(x0, x1, active(x2)) 460.09/164.10 U43(mark(x0), x1, x2) 460.09/164.10 U43(x0, mark(x1), x2) 460.09/164.10 U43(x0, x1, mark(x2)) 460.09/164.10 U43(active(x0), x1, x2) 460.09/164.10 U43(x0, active(x1), x2) 460.09/164.10 U43(x0, x1, active(x2)) 460.09/164.10 U44(mark(x0), x1, x2) 460.09/164.10 U44(x0, mark(x1), x2) 460.09/164.10 U44(x0, x1, mark(x2)) 460.09/164.10 U44(active(x0), x1, x2) 460.09/164.10 U44(x0, active(x1), x2) 460.09/164.10 U44(x0, x1, active(x2)) 460.09/164.10 U45(mark(x0), x1) 460.09/164.10 U45(x0, mark(x1)) 460.09/164.10 U45(active(x0), x1) 460.09/164.10 U45(x0, active(x1)) 460.09/164.10 U46(mark(x0)) 460.09/164.10 U46(active(x0)) 460.09/164.10 isNatIList(mark(x0)) 460.09/164.10 isNatIList(active(x0)) 460.09/164.10 U51(mark(x0), x1) 460.09/164.10 U51(x0, mark(x1)) 460.09/164.10 U51(active(x0), x1) 460.09/164.10 U51(x0, active(x1)) 460.09/164.10 U52(mark(x0)) 460.09/164.10 U52(active(x0)) 460.09/164.10 U61(mark(x0)) 460.09/164.10 U61(active(x0)) 460.09/164.10 U71(mark(x0)) 460.09/164.10 U71(active(x0)) 460.09/164.10 U81(mark(x0), x1, x2) 460.09/164.10 U81(x0, mark(x1), x2) 460.09/164.10 U81(x0, x1, mark(x2)) 460.09/164.10 U81(active(x0), x1, x2) 460.09/164.10 U81(x0, active(x1), x2) 460.09/164.10 U81(x0, x1, active(x2)) 460.09/164.10 U82(mark(x0), x1, x2) 460.09/164.10 U82(x0, mark(x1), x2) 460.09/164.10 U82(x0, x1, mark(x2)) 460.09/164.10 U82(active(x0), x1, x2) 460.09/164.10 U82(x0, active(x1), x2) 460.09/164.10 U82(x0, x1, active(x2)) 460.09/164.10 U83(mark(x0), x1, x2) 460.09/164.10 U83(x0, mark(x1), x2) 460.09/164.10 U83(x0, x1, mark(x2)) 460.09/164.10 U83(active(x0), x1, x2) 460.09/164.10 U83(x0, active(x1), x2) 460.09/164.10 U83(x0, x1, active(x2)) 460.09/164.10 U84(mark(x0), x1, x2) 460.09/164.10 U84(x0, mark(x1), x2) 460.09/164.10 U84(x0, x1, mark(x2)) 460.09/164.10 U84(active(x0), x1, x2) 460.09/164.10 U84(x0, active(x1), x2) 460.09/164.10 U84(x0, x1, active(x2)) 460.09/164.10 U85(mark(x0), x1) 460.09/164.10 U85(x0, mark(x1)) 460.09/164.10 U85(active(x0), x1) 460.09/164.10 U85(x0, active(x1)) 460.09/164.10 U86(mark(x0)) 460.09/164.10 U86(active(x0)) 460.09/164.10 U91(mark(x0), x1, x2) 460.09/164.10 U91(x0, mark(x1), x2) 460.09/164.10 U91(x0, x1, mark(x2)) 460.09/164.10 U91(active(x0), x1, x2) 460.09/164.10 U91(x0, active(x1), x2) 460.09/164.10 U91(x0, x1, active(x2)) 460.09/164.10 U92(mark(x0), x1, x2) 460.09/164.10 U92(x0, mark(x1), x2) 460.09/164.10 U92(x0, x1, mark(x2)) 460.09/164.10 U92(active(x0), x1, x2) 460.09/164.10 U92(x0, active(x1), x2) 460.09/164.10 U92(x0, x1, active(x2)) 460.09/164.10 U93(mark(x0), x1, x2) 460.09/164.10 U93(x0, mark(x1), x2) 460.09/164.10 U93(x0, x1, mark(x2)) 460.09/164.10 U93(active(x0), x1, x2) 460.09/164.10 U93(x0, active(x1), x2) 460.09/164.10 U93(x0, x1, active(x2)) 460.09/164.10 U94(mark(x0), x1) 460.09/164.10 U94(x0, mark(x1)) 460.09/164.10 U94(active(x0), x1) 460.09/164.10 U94(x0, active(x1)) 460.09/164.10 s(mark(x0)) 460.09/164.10 s(active(x0)) 460.09/164.10 length(mark(x0)) 460.09/164.10 length(active(x0)) 460.09/164.10 460.09/164.10 We have to consider all minimal (P,Q,R)-chains. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (139) UsableRulesProof (EQUIVALENT) 460.09/164.10 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. 460.09/164.10 ---------------------------------------- 460.09/164.10 460.09/164.10 (140) 460.09/164.10 Obligation: 460.09/164.10 Q DP problem: 460.09/164.10 The TRS P consists of the following rules: 460.09/164.10 460.09/164.10 U44^1(X1, mark(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(mark(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, X2, mark(X3)) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(active(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, active(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.10 U44^1(X1, X2, active(X3)) -> U44^1(X1, X2, X3) 460.09/164.10 460.09/164.10 R is empty. 460.09/164.10 The set Q consists of the following terms: 460.09/164.10 460.09/164.10 active(zeros) 460.09/164.10 active(U11(tt, x0)) 460.09/164.10 active(U12(tt, x0)) 460.09/164.10 active(U13(tt)) 460.09/164.10 active(U21(tt, x0)) 460.09/164.10 active(U22(tt, x0)) 460.09/164.10 active(U23(tt)) 460.09/164.10 active(U31(tt, x0)) 460.09/164.10 active(U32(tt, x0)) 460.09/164.10 active(U33(tt)) 460.09/164.10 active(U41(tt, x0, x1)) 460.09/164.10 active(U42(tt, x0, x1)) 460.09/164.10 active(U43(tt, x0, x1)) 460.09/164.10 active(U44(tt, x0, x1)) 460.09/164.10 active(U45(tt, x0)) 460.09/164.10 active(U46(tt)) 460.09/164.10 active(U51(tt, x0)) 460.09/164.10 active(U52(tt)) 460.09/164.10 active(U61(tt)) 460.09/164.10 active(U71(tt)) 460.09/164.10 active(U81(tt, x0, x1)) 460.09/164.10 active(U82(tt, x0, x1)) 460.09/164.10 active(U83(tt, x0, x1)) 460.09/164.10 active(U84(tt, x0, x1)) 460.09/164.10 active(U85(tt, x0)) 460.09/164.10 active(U86(tt)) 460.09/164.10 active(U91(tt, x0, x1)) 460.09/164.10 active(U92(tt, x0, x1)) 460.09/164.10 active(U93(tt, x0, x1)) 460.09/164.10 active(U94(tt, x0)) 460.09/164.10 active(isNat(0)) 460.09/164.10 active(isNat(length(x0))) 460.09/164.10 active(isNat(s(x0))) 460.09/164.10 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (141) QReductionProof (EQUIVALENT) 460.09/164.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.11 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (142) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U44^1(X1, mark(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.11 U44^1(mark(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.11 U44^1(X1, X2, mark(X3)) -> U44^1(X1, X2, X3) 460.09/164.11 U44^1(active(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.11 U44^1(X1, active(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.11 U44^1(X1, X2, active(X3)) -> U44^1(X1, X2, X3) 460.09/164.11 460.09/164.11 R is empty. 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (143) QDPSizeChangeProof (EQUIVALENT) 460.09/164.11 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. 460.09/164.11 460.09/164.11 From the DPs we obtained the following set of size-change graphs: 460.09/164.11 *U44^1(X1, mark(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U44^1(mark(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U44^1(X1, X2, mark(X3)) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.11 460.09/164.11 460.09/164.11 *U44^1(active(X1), X2, X3) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U44^1(X1, active(X2), X3) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U44^1(X1, X2, active(X3)) -> U44^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.11 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (144) 460.09/164.11 YES 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (145) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U43^1(X1, mark(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(mark(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, mark(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(active(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, active(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, active(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 460.09/164.11 The TRS R consists of the following rules: 460.09/164.11 460.09/164.11 active(zeros) -> mark(cons(0, zeros)) 460.09/164.11 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.11 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.11 active(U13(tt)) -> mark(tt) 460.09/164.11 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.11 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.11 active(U23(tt)) -> mark(tt) 460.09/164.11 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.11 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.11 active(U33(tt)) -> mark(tt) 460.09/164.11 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.11 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.11 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.11 active(U46(tt)) -> mark(tt) 460.09/164.11 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.11 active(U52(tt)) -> mark(tt) 460.09/164.11 active(U61(tt)) -> mark(tt) 460.09/164.11 active(U71(tt)) -> mark(tt) 460.09/164.11 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.11 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.11 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.11 active(U86(tt)) -> mark(tt) 460.09/164.11 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.11 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.11 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.11 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.11 active(isNat(0)) -> mark(tt) 460.09/164.11 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.11 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.11 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.11 active(isNatIList(zeros)) -> mark(tt) 460.09/164.11 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.11 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.11 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.11 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.11 active(isNatKind(0)) -> mark(tt) 460.09/164.11 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.11 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.11 active(isNatList(nil)) -> mark(tt) 460.09/164.11 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.11 active(length(nil)) -> mark(0) 460.09/164.11 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.11 mark(zeros) -> active(zeros) 460.09/164.11 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.11 mark(0) -> active(0) 460.09/164.11 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.11 mark(tt) -> active(tt) 460.09/164.11 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.11 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.11 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.11 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.11 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.11 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.11 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.11 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.11 mark(isNat(X)) -> active(isNat(X)) 460.09/164.11 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.11 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.11 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.11 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.11 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.11 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.11 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.11 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.11 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.11 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.11 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.11 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.11 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.11 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.11 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.11 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.11 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.11 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.11 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.11 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.11 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.11 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.11 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.11 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.11 mark(s(X)) -> active(s(mark(X))) 460.09/164.11 mark(length(X)) -> active(length(mark(X))) 460.09/164.11 mark(nil) -> active(nil) 460.09/164.11 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.11 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.11 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.11 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.11 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.11 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.11 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.11 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.11 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.11 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.11 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.11 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.11 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.11 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.11 U13(mark(X)) -> U13(X) 460.09/164.11 U13(active(X)) -> U13(X) 460.09/164.11 isNatList(mark(X)) -> isNatList(X) 460.09/164.11 isNatList(active(X)) -> isNatList(X) 460.09/164.11 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.11 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.11 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.11 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.11 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.11 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.11 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.11 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.11 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.11 isNatKind(active(X)) -> isNatKind(X) 460.09/164.11 U23(mark(X)) -> U23(X) 460.09/164.11 U23(active(X)) -> U23(X) 460.09/164.11 isNat(mark(X)) -> isNat(X) 460.09/164.11 isNat(active(X)) -> isNat(X) 460.09/164.11 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.11 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.11 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.11 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.11 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.11 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.11 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.11 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.11 U33(mark(X)) -> U33(X) 460.09/164.11 U33(active(X)) -> U33(X) 460.09/164.11 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.11 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.11 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.11 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.11 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.11 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.11 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.11 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.11 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.11 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.11 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.11 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.11 U46(mark(X)) -> U46(X) 460.09/164.11 U46(active(X)) -> U46(X) 460.09/164.11 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.11 isNatIList(active(X)) -> isNatIList(X) 460.09/164.11 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.11 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.11 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.11 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.11 U52(mark(X)) -> U52(X) 460.09/164.11 U52(active(X)) -> U52(X) 460.09/164.11 U61(mark(X)) -> U61(X) 460.09/164.11 U61(active(X)) -> U61(X) 460.09/164.11 U71(mark(X)) -> U71(X) 460.09/164.11 U71(active(X)) -> U71(X) 460.09/164.11 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.11 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.11 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.11 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.11 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.11 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.11 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.11 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.11 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.11 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.11 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.11 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.11 U86(mark(X)) -> U86(X) 460.09/164.11 U86(active(X)) -> U86(X) 460.09/164.11 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.11 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.11 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.11 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.11 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.11 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.11 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.11 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.11 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.11 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.11 s(mark(X)) -> s(X) 460.09/164.11 s(active(X)) -> s(X) 460.09/164.11 length(mark(X)) -> length(X) 460.09/164.11 length(active(X)) -> length(X) 460.09/164.11 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (146) UsableRulesProof (EQUIVALENT) 460.09/164.11 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. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (147) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U43^1(X1, mark(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(mark(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, mark(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(active(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, active(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, active(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 460.09/164.11 R is empty. 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (148) QReductionProof (EQUIVALENT) 460.09/164.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.11 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (149) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U43^1(X1, mark(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(mark(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, mark(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(active(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, active(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 U43^1(X1, X2, active(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 460.09/164.11 R is empty. 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (150) QDPSizeChangeProof (EQUIVALENT) 460.09/164.11 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. 460.09/164.11 460.09/164.11 From the DPs we obtained the following set of size-change graphs: 460.09/164.11 *U43^1(X1, mark(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U43^1(mark(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U43^1(X1, X2, mark(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.11 460.09/164.11 460.09/164.11 *U43^1(active(X1), X2, X3) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U43^1(X1, active(X2), X3) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.11 460.09/164.11 460.09/164.11 *U43^1(X1, X2, active(X3)) -> U43^1(X1, X2, X3) 460.09/164.11 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.11 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (151) 460.09/164.11 YES 460.09/164.11 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (152) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 460.09/164.11 460.09/164.11 The TRS R consists of the following rules: 460.09/164.11 460.09/164.11 active(zeros) -> mark(cons(0, zeros)) 460.09/164.11 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.11 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.11 active(U13(tt)) -> mark(tt) 460.09/164.11 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.11 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.11 active(U23(tt)) -> mark(tt) 460.09/164.11 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.11 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.11 active(U33(tt)) -> mark(tt) 460.09/164.11 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.11 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.11 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.11 active(U46(tt)) -> mark(tt) 460.09/164.11 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.11 active(U52(tt)) -> mark(tt) 460.09/164.11 active(U61(tt)) -> mark(tt) 460.09/164.11 active(U71(tt)) -> mark(tt) 460.09/164.11 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.11 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.11 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.11 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.11 active(U86(tt)) -> mark(tt) 460.09/164.11 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.11 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.11 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.11 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.11 active(isNat(0)) -> mark(tt) 460.09/164.11 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.11 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.11 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.11 active(isNatIList(zeros)) -> mark(tt) 460.09/164.11 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.11 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.11 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.11 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.11 active(isNatKind(0)) -> mark(tt) 460.09/164.11 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.11 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.11 active(isNatList(nil)) -> mark(tt) 460.09/164.11 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.11 active(length(nil)) -> mark(0) 460.09/164.11 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.11 mark(zeros) -> active(zeros) 460.09/164.11 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.11 mark(0) -> active(0) 460.09/164.11 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.11 mark(tt) -> active(tt) 460.09/164.11 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.11 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.11 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.11 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.11 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.11 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.11 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.11 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.11 mark(isNat(X)) -> active(isNat(X)) 460.09/164.11 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.11 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.11 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.11 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.11 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.11 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.11 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.11 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.11 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.11 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.11 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.11 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.11 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.11 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.11 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.11 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.11 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.11 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.11 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.11 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.11 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.11 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.11 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.11 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.11 mark(s(X)) -> active(s(mark(X))) 460.09/164.11 mark(length(X)) -> active(length(mark(X))) 460.09/164.11 mark(nil) -> active(nil) 460.09/164.11 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.11 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.11 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.11 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.11 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.11 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.11 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.11 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.11 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.11 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.11 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.11 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.11 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.11 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.11 U13(mark(X)) -> U13(X) 460.09/164.11 U13(active(X)) -> U13(X) 460.09/164.11 isNatList(mark(X)) -> isNatList(X) 460.09/164.11 isNatList(active(X)) -> isNatList(X) 460.09/164.11 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.11 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.11 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.11 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.11 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.11 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.11 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.11 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.11 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.11 isNatKind(active(X)) -> isNatKind(X) 460.09/164.11 U23(mark(X)) -> U23(X) 460.09/164.11 U23(active(X)) -> U23(X) 460.09/164.11 isNat(mark(X)) -> isNat(X) 460.09/164.11 isNat(active(X)) -> isNat(X) 460.09/164.11 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.11 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.11 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.11 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.11 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.11 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.11 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.11 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.11 U33(mark(X)) -> U33(X) 460.09/164.11 U33(active(X)) -> U33(X) 460.09/164.11 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.11 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.11 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.11 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.11 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.11 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.11 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.11 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.11 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.11 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.11 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.11 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.11 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.11 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.11 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.11 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.11 U46(mark(X)) -> U46(X) 460.09/164.11 U46(active(X)) -> U46(X) 460.09/164.11 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.11 isNatIList(active(X)) -> isNatIList(X) 460.09/164.11 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.11 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.11 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.11 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.11 U52(mark(X)) -> U52(X) 460.09/164.11 U52(active(X)) -> U52(X) 460.09/164.11 U61(mark(X)) -> U61(X) 460.09/164.11 U61(active(X)) -> U61(X) 460.09/164.11 U71(mark(X)) -> U71(X) 460.09/164.11 U71(active(X)) -> U71(X) 460.09/164.11 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.11 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.11 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.11 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.11 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.11 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.11 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.11 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.11 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.11 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.11 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.11 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.11 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.11 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.11 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.11 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.11 U86(mark(X)) -> U86(X) 460.09/164.11 U86(active(X)) -> U86(X) 460.09/164.11 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.11 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.11 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.11 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.11 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.11 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.11 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.11 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.11 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.11 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.11 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.11 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.11 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.11 s(mark(X)) -> s(X) 460.09/164.11 s(active(X)) -> s(X) 460.09/164.11 length(mark(X)) -> length(X) 460.09/164.11 length(active(X)) -> length(X) 460.09/164.11 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.11 U81(x0, x1, active(x2)) 460.09/164.11 U82(mark(x0), x1, x2) 460.09/164.11 U82(x0, mark(x1), x2) 460.09/164.11 U82(x0, x1, mark(x2)) 460.09/164.11 U82(active(x0), x1, x2) 460.09/164.11 U82(x0, active(x1), x2) 460.09/164.11 U82(x0, x1, active(x2)) 460.09/164.11 U83(mark(x0), x1, x2) 460.09/164.11 U83(x0, mark(x1), x2) 460.09/164.11 U83(x0, x1, mark(x2)) 460.09/164.11 U83(active(x0), x1, x2) 460.09/164.11 U83(x0, active(x1), x2) 460.09/164.11 U83(x0, x1, active(x2)) 460.09/164.11 U84(mark(x0), x1, x2) 460.09/164.11 U84(x0, mark(x1), x2) 460.09/164.11 U84(x0, x1, mark(x2)) 460.09/164.11 U84(active(x0), x1, x2) 460.09/164.11 U84(x0, active(x1), x2) 460.09/164.11 U84(x0, x1, active(x2)) 460.09/164.11 U85(mark(x0), x1) 460.09/164.11 U85(x0, mark(x1)) 460.09/164.11 U85(active(x0), x1) 460.09/164.11 U85(x0, active(x1)) 460.09/164.11 U86(mark(x0)) 460.09/164.11 U86(active(x0)) 460.09/164.11 U91(mark(x0), x1, x2) 460.09/164.11 U91(x0, mark(x1), x2) 460.09/164.11 U91(x0, x1, mark(x2)) 460.09/164.11 U91(active(x0), x1, x2) 460.09/164.11 U91(x0, active(x1), x2) 460.09/164.11 U91(x0, x1, active(x2)) 460.09/164.11 U92(mark(x0), x1, x2) 460.09/164.11 U92(x0, mark(x1), x2) 460.09/164.11 U92(x0, x1, mark(x2)) 460.09/164.11 U92(active(x0), x1, x2) 460.09/164.11 U92(x0, active(x1), x2) 460.09/164.11 U92(x0, x1, active(x2)) 460.09/164.11 U93(mark(x0), x1, x2) 460.09/164.11 U93(x0, mark(x1), x2) 460.09/164.11 U93(x0, x1, mark(x2)) 460.09/164.11 U93(active(x0), x1, x2) 460.09/164.11 U93(x0, active(x1), x2) 460.09/164.11 U93(x0, x1, active(x2)) 460.09/164.11 U94(mark(x0), x1) 460.09/164.11 U94(x0, mark(x1)) 460.09/164.11 U94(active(x0), x1) 460.09/164.11 U94(x0, active(x1)) 460.09/164.11 s(mark(x0)) 460.09/164.11 s(active(x0)) 460.09/164.11 length(mark(x0)) 460.09/164.11 length(active(x0)) 460.09/164.11 460.09/164.11 We have to consider all minimal (P,Q,R)-chains. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (153) UsableRulesProof (EQUIVALENT) 460.09/164.11 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. 460.09/164.11 ---------------------------------------- 460.09/164.11 460.09/164.11 (154) 460.09/164.11 Obligation: 460.09/164.11 Q DP problem: 460.09/164.11 The TRS P consists of the following rules: 460.09/164.11 460.09/164.11 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.11 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 460.09/164.11 460.09/164.11 R is empty. 460.09/164.11 The set Q consists of the following terms: 460.09/164.11 460.09/164.11 active(zeros) 460.09/164.11 active(U11(tt, x0)) 460.09/164.11 active(U12(tt, x0)) 460.09/164.11 active(U13(tt)) 460.09/164.11 active(U21(tt, x0)) 460.09/164.11 active(U22(tt, x0)) 460.09/164.11 active(U23(tt)) 460.09/164.11 active(U31(tt, x0)) 460.09/164.11 active(U32(tt, x0)) 460.09/164.11 active(U33(tt)) 460.09/164.11 active(U41(tt, x0, x1)) 460.09/164.11 active(U42(tt, x0, x1)) 460.09/164.11 active(U43(tt, x0, x1)) 460.09/164.11 active(U44(tt, x0, x1)) 460.09/164.11 active(U45(tt, x0)) 460.09/164.11 active(U46(tt)) 460.09/164.11 active(U51(tt, x0)) 460.09/164.11 active(U52(tt)) 460.09/164.11 active(U61(tt)) 460.09/164.11 active(U71(tt)) 460.09/164.11 active(U81(tt, x0, x1)) 460.09/164.11 active(U82(tt, x0, x1)) 460.09/164.11 active(U83(tt, x0, x1)) 460.09/164.11 active(U84(tt, x0, x1)) 460.09/164.11 active(U85(tt, x0)) 460.09/164.11 active(U86(tt)) 460.09/164.11 active(U91(tt, x0, x1)) 460.09/164.11 active(U92(tt, x0, x1)) 460.09/164.11 active(U93(tt, x0, x1)) 460.09/164.11 active(U94(tt, x0)) 460.09/164.11 active(isNat(0)) 460.09/164.11 active(isNat(length(x0))) 460.09/164.11 active(isNat(s(x0))) 460.09/164.11 active(isNatIList(x0)) 460.09/164.11 active(isNatIListKind(nil)) 460.09/164.11 active(isNatIListKind(zeros)) 460.09/164.11 active(isNatIListKind(cons(x0, x1))) 460.09/164.11 active(isNatKind(0)) 460.09/164.11 active(isNatKind(length(x0))) 460.09/164.11 active(isNatKind(s(x0))) 460.09/164.11 active(isNatList(nil)) 460.09/164.11 active(isNatList(cons(x0, x1))) 460.09/164.11 active(length(nil)) 460.09/164.11 active(length(cons(x0, x1))) 460.09/164.11 mark(zeros) 460.09/164.11 mark(cons(x0, x1)) 460.09/164.11 mark(0) 460.09/164.11 mark(U11(x0, x1)) 460.09/164.11 mark(tt) 460.09/164.11 mark(U12(x0, x1)) 460.09/164.11 mark(isNatIListKind(x0)) 460.09/164.11 mark(U13(x0)) 460.09/164.11 mark(isNatList(x0)) 460.09/164.11 mark(U21(x0, x1)) 460.09/164.11 mark(U22(x0, x1)) 460.09/164.11 mark(isNatKind(x0)) 460.09/164.11 mark(U23(x0)) 460.09/164.11 mark(isNat(x0)) 460.09/164.11 mark(U31(x0, x1)) 460.09/164.11 mark(U32(x0, x1)) 460.09/164.11 mark(U33(x0)) 460.09/164.11 mark(U41(x0, x1, x2)) 460.09/164.11 mark(U42(x0, x1, x2)) 460.09/164.11 mark(U43(x0, x1, x2)) 460.09/164.11 mark(U44(x0, x1, x2)) 460.09/164.11 mark(U45(x0, x1)) 460.09/164.11 mark(U46(x0)) 460.09/164.11 mark(isNatIList(x0)) 460.09/164.11 mark(U51(x0, x1)) 460.09/164.11 mark(U52(x0)) 460.09/164.11 mark(U61(x0)) 460.09/164.11 mark(U71(x0)) 460.09/164.11 mark(U81(x0, x1, x2)) 460.09/164.11 mark(U82(x0, x1, x2)) 460.09/164.11 mark(U83(x0, x1, x2)) 460.09/164.11 mark(U84(x0, x1, x2)) 460.09/164.11 mark(U85(x0, x1)) 460.09/164.11 mark(U86(x0)) 460.09/164.11 mark(U91(x0, x1, x2)) 460.09/164.11 mark(U92(x0, x1, x2)) 460.09/164.11 mark(U93(x0, x1, x2)) 460.09/164.11 mark(U94(x0, x1)) 460.09/164.11 mark(s(x0)) 460.09/164.11 mark(length(x0)) 460.09/164.11 mark(nil) 460.09/164.11 cons(mark(x0), x1) 460.09/164.11 cons(x0, mark(x1)) 460.09/164.11 cons(active(x0), x1) 460.09/164.11 cons(x0, active(x1)) 460.09/164.11 U11(mark(x0), x1) 460.09/164.11 U11(x0, mark(x1)) 460.09/164.11 U11(active(x0), x1) 460.09/164.11 U11(x0, active(x1)) 460.09/164.11 U12(mark(x0), x1) 460.09/164.11 U12(x0, mark(x1)) 460.09/164.11 U12(active(x0), x1) 460.09/164.11 U12(x0, active(x1)) 460.09/164.11 isNatIListKind(mark(x0)) 460.09/164.11 isNatIListKind(active(x0)) 460.09/164.11 U13(mark(x0)) 460.09/164.11 U13(active(x0)) 460.09/164.11 isNatList(mark(x0)) 460.09/164.11 isNatList(active(x0)) 460.09/164.11 U21(mark(x0), x1) 460.09/164.11 U21(x0, mark(x1)) 460.09/164.11 U21(active(x0), x1) 460.09/164.11 U21(x0, active(x1)) 460.09/164.11 U22(mark(x0), x1) 460.09/164.11 U22(x0, mark(x1)) 460.09/164.11 U22(active(x0), x1) 460.09/164.11 U22(x0, active(x1)) 460.09/164.11 isNatKind(mark(x0)) 460.09/164.11 isNatKind(active(x0)) 460.09/164.11 U23(mark(x0)) 460.09/164.11 U23(active(x0)) 460.09/164.11 isNat(mark(x0)) 460.09/164.11 isNat(active(x0)) 460.09/164.11 U31(mark(x0), x1) 460.09/164.11 U31(x0, mark(x1)) 460.09/164.11 U31(active(x0), x1) 460.09/164.11 U31(x0, active(x1)) 460.09/164.11 U32(mark(x0), x1) 460.09/164.11 U32(x0, mark(x1)) 460.09/164.11 U32(active(x0), x1) 460.09/164.11 U32(x0, active(x1)) 460.09/164.11 U33(mark(x0)) 460.09/164.11 U33(active(x0)) 460.09/164.11 U41(mark(x0), x1, x2) 460.09/164.11 U41(x0, mark(x1), x2) 460.09/164.11 U41(x0, x1, mark(x2)) 460.09/164.11 U41(active(x0), x1, x2) 460.09/164.11 U41(x0, active(x1), x2) 460.09/164.11 U41(x0, x1, active(x2)) 460.09/164.11 U42(mark(x0), x1, x2) 460.09/164.11 U42(x0, mark(x1), x2) 460.09/164.11 U42(x0, x1, mark(x2)) 460.09/164.11 U42(active(x0), x1, x2) 460.09/164.11 U42(x0, active(x1), x2) 460.09/164.11 U42(x0, x1, active(x2)) 460.09/164.11 U43(mark(x0), x1, x2) 460.09/164.11 U43(x0, mark(x1), x2) 460.09/164.11 U43(x0, x1, mark(x2)) 460.09/164.11 U43(active(x0), x1, x2) 460.09/164.11 U43(x0, active(x1), x2) 460.09/164.11 U43(x0, x1, active(x2)) 460.09/164.11 U44(mark(x0), x1, x2) 460.09/164.11 U44(x0, mark(x1), x2) 460.09/164.11 U44(x0, x1, mark(x2)) 460.09/164.11 U44(active(x0), x1, x2) 460.09/164.11 U44(x0, active(x1), x2) 460.09/164.11 U44(x0, x1, active(x2)) 460.09/164.11 U45(mark(x0), x1) 460.09/164.11 U45(x0, mark(x1)) 460.09/164.11 U45(active(x0), x1) 460.09/164.11 U45(x0, active(x1)) 460.09/164.11 U46(mark(x0)) 460.09/164.11 U46(active(x0)) 460.09/164.11 isNatIList(mark(x0)) 460.09/164.11 isNatIList(active(x0)) 460.09/164.11 U51(mark(x0), x1) 460.09/164.11 U51(x0, mark(x1)) 460.09/164.11 U51(active(x0), x1) 460.09/164.11 U51(x0, active(x1)) 460.09/164.11 U52(mark(x0)) 460.09/164.11 U52(active(x0)) 460.09/164.11 U61(mark(x0)) 460.09/164.11 U61(active(x0)) 460.09/164.11 U71(mark(x0)) 460.09/164.11 U71(active(x0)) 460.09/164.11 U81(mark(x0), x1, x2) 460.09/164.11 U81(x0, mark(x1), x2) 460.09/164.11 U81(x0, x1, mark(x2)) 460.09/164.11 U81(active(x0), x1, x2) 460.09/164.11 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (155) QReductionProof (EQUIVALENT) 460.09/164.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.12 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (156) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.12 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.12 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 460.09/164.12 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.12 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.12 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 460.09/164.12 460.09/164.12 R is empty. 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (157) QDPSizeChangeProof (EQUIVALENT) 460.09/164.12 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. 460.09/164.12 460.09/164.12 From the DPs we obtained the following set of size-change graphs: 460.09/164.12 *U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.12 460.09/164.12 460.09/164.12 *U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.12 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (158) 460.09/164.12 YES 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (159) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 460.09/164.12 The TRS R consists of the following rules: 460.09/164.12 460.09/164.12 active(zeros) -> mark(cons(0, zeros)) 460.09/164.12 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.12 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.12 active(U13(tt)) -> mark(tt) 460.09/164.12 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.12 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.12 active(U23(tt)) -> mark(tt) 460.09/164.12 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.12 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.12 active(U33(tt)) -> mark(tt) 460.09/164.12 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.12 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.12 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.12 active(U46(tt)) -> mark(tt) 460.09/164.12 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.12 active(U52(tt)) -> mark(tt) 460.09/164.12 active(U61(tt)) -> mark(tt) 460.09/164.12 active(U71(tt)) -> mark(tt) 460.09/164.12 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.12 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.12 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.12 active(U86(tt)) -> mark(tt) 460.09/164.12 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.12 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.12 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.12 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.12 active(isNat(0)) -> mark(tt) 460.09/164.12 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.12 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.12 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.12 active(isNatIList(zeros)) -> mark(tt) 460.09/164.12 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.12 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.12 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.12 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.12 active(isNatKind(0)) -> mark(tt) 460.09/164.12 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.12 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.12 active(isNatList(nil)) -> mark(tt) 460.09/164.12 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.12 active(length(nil)) -> mark(0) 460.09/164.12 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.12 mark(zeros) -> active(zeros) 460.09/164.12 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.12 mark(0) -> active(0) 460.09/164.12 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.12 mark(tt) -> active(tt) 460.09/164.12 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.12 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.12 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.12 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.12 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.12 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.12 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.12 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.12 mark(isNat(X)) -> active(isNat(X)) 460.09/164.12 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.12 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.12 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.12 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.12 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.12 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.12 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.12 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.12 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.12 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.12 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.12 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.12 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.12 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.12 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.12 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.12 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.12 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.12 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.12 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.12 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.12 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.12 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.12 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.12 mark(s(X)) -> active(s(mark(X))) 460.09/164.12 mark(length(X)) -> active(length(mark(X))) 460.09/164.12 mark(nil) -> active(nil) 460.09/164.12 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.12 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.12 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.12 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.12 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.12 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.12 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.12 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.12 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.12 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.12 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.12 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.12 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.12 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.12 U13(mark(X)) -> U13(X) 460.09/164.12 U13(active(X)) -> U13(X) 460.09/164.12 isNatList(mark(X)) -> isNatList(X) 460.09/164.12 isNatList(active(X)) -> isNatList(X) 460.09/164.12 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.12 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.12 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.12 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.12 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.12 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.12 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.12 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.12 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.12 isNatKind(active(X)) -> isNatKind(X) 460.09/164.12 U23(mark(X)) -> U23(X) 460.09/164.12 U23(active(X)) -> U23(X) 460.09/164.12 isNat(mark(X)) -> isNat(X) 460.09/164.12 isNat(active(X)) -> isNat(X) 460.09/164.12 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.12 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.12 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.12 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.12 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.12 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.12 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.12 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.12 U33(mark(X)) -> U33(X) 460.09/164.12 U33(active(X)) -> U33(X) 460.09/164.12 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.12 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.12 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.12 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.12 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.12 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.12 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.12 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.12 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.12 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.12 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.12 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.12 U46(mark(X)) -> U46(X) 460.09/164.12 U46(active(X)) -> U46(X) 460.09/164.12 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.12 isNatIList(active(X)) -> isNatIList(X) 460.09/164.12 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.12 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.12 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.12 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.12 U52(mark(X)) -> U52(X) 460.09/164.12 U52(active(X)) -> U52(X) 460.09/164.12 U61(mark(X)) -> U61(X) 460.09/164.12 U61(active(X)) -> U61(X) 460.09/164.12 U71(mark(X)) -> U71(X) 460.09/164.12 U71(active(X)) -> U71(X) 460.09/164.12 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.12 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.12 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.12 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.12 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.12 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.12 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.12 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.12 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.12 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.12 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.12 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.12 U86(mark(X)) -> U86(X) 460.09/164.12 U86(active(X)) -> U86(X) 460.09/164.12 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.12 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.12 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.12 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.12 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.12 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.12 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.12 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.12 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.12 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.12 s(mark(X)) -> s(X) 460.09/164.12 s(active(X)) -> s(X) 460.09/164.12 length(mark(X)) -> length(X) 460.09/164.12 length(active(X)) -> length(X) 460.09/164.12 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (160) UsableRulesProof (EQUIVALENT) 460.09/164.12 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. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (161) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 460.09/164.12 R is empty. 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (162) QReductionProof (EQUIVALENT) 460.09/164.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.12 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (163) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 460.09/164.12 R is empty. 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (164) QDPSizeChangeProof (EQUIVALENT) 460.09/164.12 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. 460.09/164.12 460.09/164.12 From the DPs we obtained the following set of size-change graphs: 460.09/164.12 *U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.12 460.09/164.12 460.09/164.12 *U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 460.09/164.12 460.09/164.12 460.09/164.12 *U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 460.09/164.12 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 460.09/164.12 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (165) 460.09/164.12 YES 460.09/164.12 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (166) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U33^1(active(X)) -> U33^1(X) 460.09/164.12 U33^1(mark(X)) -> U33^1(X) 460.09/164.12 460.09/164.12 The TRS R consists of the following rules: 460.09/164.12 460.09/164.12 active(zeros) -> mark(cons(0, zeros)) 460.09/164.12 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.12 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.12 active(U13(tt)) -> mark(tt) 460.09/164.12 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.12 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.12 active(U23(tt)) -> mark(tt) 460.09/164.12 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.12 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.12 active(U33(tt)) -> mark(tt) 460.09/164.12 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.12 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.12 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.12 active(U46(tt)) -> mark(tt) 460.09/164.12 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.12 active(U52(tt)) -> mark(tt) 460.09/164.12 active(U61(tt)) -> mark(tt) 460.09/164.12 active(U71(tt)) -> mark(tt) 460.09/164.12 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.12 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.12 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.12 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.12 active(U86(tt)) -> mark(tt) 460.09/164.12 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.12 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.12 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.12 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.12 active(isNat(0)) -> mark(tt) 460.09/164.12 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.12 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.12 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.12 active(isNatIList(zeros)) -> mark(tt) 460.09/164.12 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.12 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.12 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.12 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.12 active(isNatKind(0)) -> mark(tt) 460.09/164.12 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.12 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.12 active(isNatList(nil)) -> mark(tt) 460.09/164.12 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.12 active(length(nil)) -> mark(0) 460.09/164.12 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.12 mark(zeros) -> active(zeros) 460.09/164.12 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.12 mark(0) -> active(0) 460.09/164.12 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.12 mark(tt) -> active(tt) 460.09/164.12 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.12 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.12 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.12 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.12 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.12 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.12 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.12 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.12 mark(isNat(X)) -> active(isNat(X)) 460.09/164.12 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.12 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.12 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.12 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.12 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.12 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.12 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.12 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.12 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.12 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.12 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.12 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.12 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.12 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.12 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.12 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.12 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.12 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.12 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.12 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.12 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.12 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.12 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.12 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.12 mark(s(X)) -> active(s(mark(X))) 460.09/164.12 mark(length(X)) -> active(length(mark(X))) 460.09/164.12 mark(nil) -> active(nil) 460.09/164.12 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.12 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.12 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.12 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.12 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.12 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.12 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.12 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.12 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.12 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.12 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.12 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.12 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.12 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.12 U13(mark(X)) -> U13(X) 460.09/164.12 U13(active(X)) -> U13(X) 460.09/164.12 isNatList(mark(X)) -> isNatList(X) 460.09/164.12 isNatList(active(X)) -> isNatList(X) 460.09/164.12 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.12 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.12 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.12 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.12 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.12 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.12 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.12 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.12 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.12 isNatKind(active(X)) -> isNatKind(X) 460.09/164.12 U23(mark(X)) -> U23(X) 460.09/164.12 U23(active(X)) -> U23(X) 460.09/164.12 isNat(mark(X)) -> isNat(X) 460.09/164.12 isNat(active(X)) -> isNat(X) 460.09/164.12 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.12 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.12 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.12 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.12 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.12 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.12 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.12 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.12 U33(mark(X)) -> U33(X) 460.09/164.12 U33(active(X)) -> U33(X) 460.09/164.12 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.12 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.12 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.12 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.12 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.12 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.12 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.12 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.12 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.12 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.12 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.12 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.12 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.12 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.12 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.12 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.12 U46(mark(X)) -> U46(X) 460.09/164.12 U46(active(X)) -> U46(X) 460.09/164.12 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.12 isNatIList(active(X)) -> isNatIList(X) 460.09/164.12 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.12 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.12 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.12 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.12 U52(mark(X)) -> U52(X) 460.09/164.12 U52(active(X)) -> U52(X) 460.09/164.12 U61(mark(X)) -> U61(X) 460.09/164.12 U61(active(X)) -> U61(X) 460.09/164.12 U71(mark(X)) -> U71(X) 460.09/164.12 U71(active(X)) -> U71(X) 460.09/164.12 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.12 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.12 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.12 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.12 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.12 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.12 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.12 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.12 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.12 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.12 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.12 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.12 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.12 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.12 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.12 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.12 U86(mark(X)) -> U86(X) 460.09/164.12 U86(active(X)) -> U86(X) 460.09/164.12 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.12 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.12 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.12 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.12 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.12 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.12 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.12 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.12 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.12 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.12 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.12 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.12 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.12 s(mark(X)) -> s(X) 460.09/164.12 s(active(X)) -> s(X) 460.09/164.12 length(mark(X)) -> length(X) 460.09/164.12 length(active(X)) -> length(X) 460.09/164.12 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (167) UsableRulesProof (EQUIVALENT) 460.09/164.12 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. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (168) 460.09/164.12 Obligation: 460.09/164.12 Q DP problem: 460.09/164.12 The TRS P consists of the following rules: 460.09/164.12 460.09/164.12 U33^1(active(X)) -> U33^1(X) 460.09/164.12 U33^1(mark(X)) -> U33^1(X) 460.09/164.12 460.09/164.12 R is empty. 460.09/164.12 The set Q consists of the following terms: 460.09/164.12 460.09/164.12 active(zeros) 460.09/164.12 active(U11(tt, x0)) 460.09/164.12 active(U12(tt, x0)) 460.09/164.12 active(U13(tt)) 460.09/164.12 active(U21(tt, x0)) 460.09/164.12 active(U22(tt, x0)) 460.09/164.12 active(U23(tt)) 460.09/164.12 active(U31(tt, x0)) 460.09/164.12 active(U32(tt, x0)) 460.09/164.12 active(U33(tt)) 460.09/164.12 active(U41(tt, x0, x1)) 460.09/164.12 active(U42(tt, x0, x1)) 460.09/164.12 active(U43(tt, x0, x1)) 460.09/164.12 active(U44(tt, x0, x1)) 460.09/164.12 active(U45(tt, x0)) 460.09/164.12 active(U46(tt)) 460.09/164.12 active(U51(tt, x0)) 460.09/164.12 active(U52(tt)) 460.09/164.12 active(U61(tt)) 460.09/164.12 active(U71(tt)) 460.09/164.12 active(U81(tt, x0, x1)) 460.09/164.12 active(U82(tt, x0, x1)) 460.09/164.12 active(U83(tt, x0, x1)) 460.09/164.12 active(U84(tt, x0, x1)) 460.09/164.12 active(U85(tt, x0)) 460.09/164.12 active(U86(tt)) 460.09/164.12 active(U91(tt, x0, x1)) 460.09/164.12 active(U92(tt, x0, x1)) 460.09/164.12 active(U93(tt, x0, x1)) 460.09/164.12 active(U94(tt, x0)) 460.09/164.12 active(isNat(0)) 460.09/164.12 active(isNat(length(x0))) 460.09/164.12 active(isNat(s(x0))) 460.09/164.12 active(isNatIList(x0)) 460.09/164.12 active(isNatIListKind(nil)) 460.09/164.12 active(isNatIListKind(zeros)) 460.09/164.12 active(isNatIListKind(cons(x0, x1))) 460.09/164.12 active(isNatKind(0)) 460.09/164.12 active(isNatKind(length(x0))) 460.09/164.12 active(isNatKind(s(x0))) 460.09/164.12 active(isNatList(nil)) 460.09/164.12 active(isNatList(cons(x0, x1))) 460.09/164.12 active(length(nil)) 460.09/164.12 active(length(cons(x0, x1))) 460.09/164.12 mark(zeros) 460.09/164.12 mark(cons(x0, x1)) 460.09/164.12 mark(0) 460.09/164.12 mark(U11(x0, x1)) 460.09/164.12 mark(tt) 460.09/164.12 mark(U12(x0, x1)) 460.09/164.12 mark(isNatIListKind(x0)) 460.09/164.12 mark(U13(x0)) 460.09/164.12 mark(isNatList(x0)) 460.09/164.12 mark(U21(x0, x1)) 460.09/164.12 mark(U22(x0, x1)) 460.09/164.12 mark(isNatKind(x0)) 460.09/164.12 mark(U23(x0)) 460.09/164.12 mark(isNat(x0)) 460.09/164.12 mark(U31(x0, x1)) 460.09/164.12 mark(U32(x0, x1)) 460.09/164.12 mark(U33(x0)) 460.09/164.12 mark(U41(x0, x1, x2)) 460.09/164.12 mark(U42(x0, x1, x2)) 460.09/164.12 mark(U43(x0, x1, x2)) 460.09/164.12 mark(U44(x0, x1, x2)) 460.09/164.12 mark(U45(x0, x1)) 460.09/164.12 mark(U46(x0)) 460.09/164.12 mark(isNatIList(x0)) 460.09/164.12 mark(U51(x0, x1)) 460.09/164.12 mark(U52(x0)) 460.09/164.12 mark(U61(x0)) 460.09/164.12 mark(U71(x0)) 460.09/164.12 mark(U81(x0, x1, x2)) 460.09/164.12 mark(U82(x0, x1, x2)) 460.09/164.12 mark(U83(x0, x1, x2)) 460.09/164.12 mark(U84(x0, x1, x2)) 460.09/164.12 mark(U85(x0, x1)) 460.09/164.12 mark(U86(x0)) 460.09/164.12 mark(U91(x0, x1, x2)) 460.09/164.12 mark(U92(x0, x1, x2)) 460.09/164.12 mark(U93(x0, x1, x2)) 460.09/164.12 mark(U94(x0, x1)) 460.09/164.12 mark(s(x0)) 460.09/164.12 mark(length(x0)) 460.09/164.12 mark(nil) 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.12 U42(x0, x1, mark(x2)) 460.09/164.12 U42(active(x0), x1, x2) 460.09/164.12 U42(x0, active(x1), x2) 460.09/164.12 U42(x0, x1, active(x2)) 460.09/164.12 U43(mark(x0), x1, x2) 460.09/164.12 U43(x0, mark(x1), x2) 460.09/164.12 U43(x0, x1, mark(x2)) 460.09/164.12 U43(active(x0), x1, x2) 460.09/164.12 U43(x0, active(x1), x2) 460.09/164.12 U43(x0, x1, active(x2)) 460.09/164.12 U44(mark(x0), x1, x2) 460.09/164.12 U44(x0, mark(x1), x2) 460.09/164.12 U44(x0, x1, mark(x2)) 460.09/164.12 U44(active(x0), x1, x2) 460.09/164.12 U44(x0, active(x1), x2) 460.09/164.12 U44(x0, x1, active(x2)) 460.09/164.12 U45(mark(x0), x1) 460.09/164.12 U45(x0, mark(x1)) 460.09/164.12 U45(active(x0), x1) 460.09/164.12 U45(x0, active(x1)) 460.09/164.12 U46(mark(x0)) 460.09/164.12 U46(active(x0)) 460.09/164.12 isNatIList(mark(x0)) 460.09/164.12 isNatIList(active(x0)) 460.09/164.12 U51(mark(x0), x1) 460.09/164.12 U51(x0, mark(x1)) 460.09/164.12 U51(active(x0), x1) 460.09/164.12 U51(x0, active(x1)) 460.09/164.12 U52(mark(x0)) 460.09/164.12 U52(active(x0)) 460.09/164.12 U61(mark(x0)) 460.09/164.12 U61(active(x0)) 460.09/164.12 U71(mark(x0)) 460.09/164.12 U71(active(x0)) 460.09/164.12 U81(mark(x0), x1, x2) 460.09/164.12 U81(x0, mark(x1), x2) 460.09/164.12 U81(x0, x1, mark(x2)) 460.09/164.12 U81(active(x0), x1, x2) 460.09/164.12 U81(x0, active(x1), x2) 460.09/164.12 U81(x0, x1, active(x2)) 460.09/164.12 U82(mark(x0), x1, x2) 460.09/164.12 U82(x0, mark(x1), x2) 460.09/164.12 U82(x0, x1, mark(x2)) 460.09/164.12 U82(active(x0), x1, x2) 460.09/164.12 U82(x0, active(x1), x2) 460.09/164.12 U82(x0, x1, active(x2)) 460.09/164.12 U83(mark(x0), x1, x2) 460.09/164.12 U83(x0, mark(x1), x2) 460.09/164.12 U83(x0, x1, mark(x2)) 460.09/164.12 U83(active(x0), x1, x2) 460.09/164.12 U83(x0, active(x1), x2) 460.09/164.12 U83(x0, x1, active(x2)) 460.09/164.12 U84(mark(x0), x1, x2) 460.09/164.12 U84(x0, mark(x1), x2) 460.09/164.12 U84(x0, x1, mark(x2)) 460.09/164.12 U84(active(x0), x1, x2) 460.09/164.12 U84(x0, active(x1), x2) 460.09/164.12 U84(x0, x1, active(x2)) 460.09/164.12 U85(mark(x0), x1) 460.09/164.12 U85(x0, mark(x1)) 460.09/164.12 U85(active(x0), x1) 460.09/164.12 U85(x0, active(x1)) 460.09/164.12 U86(mark(x0)) 460.09/164.12 U86(active(x0)) 460.09/164.12 U91(mark(x0), x1, x2) 460.09/164.12 U91(x0, mark(x1), x2) 460.09/164.12 U91(x0, x1, mark(x2)) 460.09/164.12 U91(active(x0), x1, x2) 460.09/164.12 U91(x0, active(x1), x2) 460.09/164.12 U91(x0, x1, active(x2)) 460.09/164.12 U92(mark(x0), x1, x2) 460.09/164.12 U92(x0, mark(x1), x2) 460.09/164.12 U92(x0, x1, mark(x2)) 460.09/164.12 U92(active(x0), x1, x2) 460.09/164.12 U92(x0, active(x1), x2) 460.09/164.12 U92(x0, x1, active(x2)) 460.09/164.12 U93(mark(x0), x1, x2) 460.09/164.12 U93(x0, mark(x1), x2) 460.09/164.12 U93(x0, x1, mark(x2)) 460.09/164.12 U93(active(x0), x1, x2) 460.09/164.12 U93(x0, active(x1), x2) 460.09/164.12 U93(x0, x1, active(x2)) 460.09/164.12 U94(mark(x0), x1) 460.09/164.12 U94(x0, mark(x1)) 460.09/164.12 U94(active(x0), x1) 460.09/164.12 U94(x0, active(x1)) 460.09/164.12 s(mark(x0)) 460.09/164.12 s(active(x0)) 460.09/164.12 length(mark(x0)) 460.09/164.12 length(active(x0)) 460.09/164.12 460.09/164.12 We have to consider all minimal (P,Q,R)-chains. 460.09/164.12 ---------------------------------------- 460.09/164.12 460.09/164.12 (169) QReductionProof (EQUIVALENT) 460.09/164.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.12 460.09/164.12 cons(mark(x0), x1) 460.09/164.12 cons(x0, mark(x1)) 460.09/164.12 cons(active(x0), x1) 460.09/164.12 cons(x0, active(x1)) 460.09/164.12 U11(mark(x0), x1) 460.09/164.12 U11(x0, mark(x1)) 460.09/164.12 U11(active(x0), x1) 460.09/164.12 U11(x0, active(x1)) 460.09/164.12 U12(mark(x0), x1) 460.09/164.12 U12(x0, mark(x1)) 460.09/164.12 U12(active(x0), x1) 460.09/164.12 U12(x0, active(x1)) 460.09/164.12 isNatIListKind(mark(x0)) 460.09/164.12 isNatIListKind(active(x0)) 460.09/164.12 U13(mark(x0)) 460.09/164.12 U13(active(x0)) 460.09/164.12 isNatList(mark(x0)) 460.09/164.12 isNatList(active(x0)) 460.09/164.12 U21(mark(x0), x1) 460.09/164.12 U21(x0, mark(x1)) 460.09/164.12 U21(active(x0), x1) 460.09/164.12 U21(x0, active(x1)) 460.09/164.12 U22(mark(x0), x1) 460.09/164.12 U22(x0, mark(x1)) 460.09/164.12 U22(active(x0), x1) 460.09/164.12 U22(x0, active(x1)) 460.09/164.12 isNatKind(mark(x0)) 460.09/164.12 isNatKind(active(x0)) 460.09/164.12 U23(mark(x0)) 460.09/164.12 U23(active(x0)) 460.09/164.12 isNat(mark(x0)) 460.09/164.12 isNat(active(x0)) 460.09/164.12 U31(mark(x0), x1) 460.09/164.12 U31(x0, mark(x1)) 460.09/164.12 U31(active(x0), x1) 460.09/164.12 U31(x0, active(x1)) 460.09/164.12 U32(mark(x0), x1) 460.09/164.12 U32(x0, mark(x1)) 460.09/164.12 U32(active(x0), x1) 460.09/164.12 U32(x0, active(x1)) 460.09/164.12 U33(mark(x0)) 460.09/164.12 U33(active(x0)) 460.09/164.12 U41(mark(x0), x1, x2) 460.09/164.12 U41(x0, mark(x1), x2) 460.09/164.12 U41(x0, x1, mark(x2)) 460.09/164.12 U41(active(x0), x1, x2) 460.09/164.12 U41(x0, active(x1), x2) 460.09/164.12 U41(x0, x1, active(x2)) 460.09/164.12 U42(mark(x0), x1, x2) 460.09/164.12 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (170) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U33^1(active(X)) -> U33^1(X) 460.09/164.13 U33^1(mark(X)) -> U33^1(X) 460.09/164.13 460.09/164.13 R is empty. 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (171) QDPSizeChangeProof (EQUIVALENT) 460.09/164.13 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. 460.09/164.13 460.09/164.13 From the DPs we obtained the following set of size-change graphs: 460.09/164.13 *U33^1(active(X)) -> U33^1(X) 460.09/164.13 The graph contains the following edges 1 > 1 460.09/164.13 460.09/164.13 460.09/164.13 *U33^1(mark(X)) -> U33^1(X) 460.09/164.13 The graph contains the following edges 1 > 1 460.09/164.13 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (172) 460.09/164.13 YES 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (173) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U32^1(X1, mark(X2)) -> U32^1(X1, X2) 460.09/164.13 U32^1(mark(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(active(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(X1, active(X2)) -> U32^1(X1, X2) 460.09/164.13 460.09/164.13 The TRS R consists of the following rules: 460.09/164.13 460.09/164.13 active(zeros) -> mark(cons(0, zeros)) 460.09/164.13 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.13 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.13 active(U13(tt)) -> mark(tt) 460.09/164.13 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.13 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.13 active(U23(tt)) -> mark(tt) 460.09/164.13 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.13 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.13 active(U33(tt)) -> mark(tt) 460.09/164.13 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.13 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.13 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.13 active(U46(tt)) -> mark(tt) 460.09/164.13 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.13 active(U52(tt)) -> mark(tt) 460.09/164.13 active(U61(tt)) -> mark(tt) 460.09/164.13 active(U71(tt)) -> mark(tt) 460.09/164.13 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.13 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.13 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.13 active(U86(tt)) -> mark(tt) 460.09/164.13 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.13 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.13 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.13 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.13 active(isNat(0)) -> mark(tt) 460.09/164.13 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.13 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.13 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.13 active(isNatIList(zeros)) -> mark(tt) 460.09/164.13 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.13 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.13 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.13 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.13 active(isNatKind(0)) -> mark(tt) 460.09/164.13 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.13 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.13 active(isNatList(nil)) -> mark(tt) 460.09/164.13 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.13 active(length(nil)) -> mark(0) 460.09/164.13 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.13 mark(zeros) -> active(zeros) 460.09/164.13 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.13 mark(0) -> active(0) 460.09/164.13 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.13 mark(tt) -> active(tt) 460.09/164.13 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.13 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.13 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.13 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.13 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.13 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.13 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.13 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.13 mark(isNat(X)) -> active(isNat(X)) 460.09/164.13 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.13 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.13 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.13 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.13 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.13 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.13 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.13 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.13 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.13 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.13 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.13 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.13 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.13 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.13 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.13 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.13 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.13 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.13 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.13 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.13 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.13 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.13 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.13 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.13 mark(s(X)) -> active(s(mark(X))) 460.09/164.13 mark(length(X)) -> active(length(mark(X))) 460.09/164.13 mark(nil) -> active(nil) 460.09/164.13 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.13 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.13 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.13 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.13 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.13 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.13 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.13 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.13 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.13 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.13 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.13 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.13 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.13 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.13 U13(mark(X)) -> U13(X) 460.09/164.13 U13(active(X)) -> U13(X) 460.09/164.13 isNatList(mark(X)) -> isNatList(X) 460.09/164.13 isNatList(active(X)) -> isNatList(X) 460.09/164.13 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.13 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.13 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.13 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.13 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.13 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.13 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.13 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.13 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.13 isNatKind(active(X)) -> isNatKind(X) 460.09/164.13 U23(mark(X)) -> U23(X) 460.09/164.13 U23(active(X)) -> U23(X) 460.09/164.13 isNat(mark(X)) -> isNat(X) 460.09/164.13 isNat(active(X)) -> isNat(X) 460.09/164.13 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.13 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.13 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.13 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.13 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.13 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.13 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.13 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.13 U33(mark(X)) -> U33(X) 460.09/164.13 U33(active(X)) -> U33(X) 460.09/164.13 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.13 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.13 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.13 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.13 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.13 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.13 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.13 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.13 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.13 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.13 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.13 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.13 U46(mark(X)) -> U46(X) 460.09/164.13 U46(active(X)) -> U46(X) 460.09/164.13 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.13 isNatIList(active(X)) -> isNatIList(X) 460.09/164.13 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.13 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.13 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.13 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.13 U52(mark(X)) -> U52(X) 460.09/164.13 U52(active(X)) -> U52(X) 460.09/164.13 U61(mark(X)) -> U61(X) 460.09/164.13 U61(active(X)) -> U61(X) 460.09/164.13 U71(mark(X)) -> U71(X) 460.09/164.13 U71(active(X)) -> U71(X) 460.09/164.13 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.13 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.13 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.13 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.13 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.13 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.13 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.13 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.13 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.13 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.13 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.13 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.13 U86(mark(X)) -> U86(X) 460.09/164.13 U86(active(X)) -> U86(X) 460.09/164.13 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.13 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.13 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.13 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.13 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.13 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.13 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.13 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.13 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.13 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.13 s(mark(X)) -> s(X) 460.09/164.13 s(active(X)) -> s(X) 460.09/164.13 length(mark(X)) -> length(X) 460.09/164.13 length(active(X)) -> length(X) 460.09/164.13 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (174) UsableRulesProof (EQUIVALENT) 460.09/164.13 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. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (175) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U32^1(X1, mark(X2)) -> U32^1(X1, X2) 460.09/164.13 U32^1(mark(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(active(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(X1, active(X2)) -> U32^1(X1, X2) 460.09/164.13 460.09/164.13 R is empty. 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (176) QReductionProof (EQUIVALENT) 460.09/164.13 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.13 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (177) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U32^1(X1, mark(X2)) -> U32^1(X1, X2) 460.09/164.13 U32^1(mark(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(active(X1), X2) -> U32^1(X1, X2) 460.09/164.13 U32^1(X1, active(X2)) -> U32^1(X1, X2) 460.09/164.13 460.09/164.13 R is empty. 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (178) QDPSizeChangeProof (EQUIVALENT) 460.09/164.13 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. 460.09/164.13 460.09/164.13 From the DPs we obtained the following set of size-change graphs: 460.09/164.13 *U32^1(X1, mark(X2)) -> U32^1(X1, X2) 460.09/164.13 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.13 460.09/164.13 460.09/164.13 *U32^1(mark(X1), X2) -> U32^1(X1, X2) 460.09/164.13 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.13 460.09/164.13 460.09/164.13 *U32^1(active(X1), X2) -> U32^1(X1, X2) 460.09/164.13 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.13 460.09/164.13 460.09/164.13 *U32^1(X1, active(X2)) -> U32^1(X1, X2) 460.09/164.13 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.13 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (179) 460.09/164.13 YES 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (180) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 460.09/164.13 U31^1(mark(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(active(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(X1, active(X2)) -> U31^1(X1, X2) 460.09/164.13 460.09/164.13 The TRS R consists of the following rules: 460.09/164.13 460.09/164.13 active(zeros) -> mark(cons(0, zeros)) 460.09/164.13 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.13 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.13 active(U13(tt)) -> mark(tt) 460.09/164.13 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.13 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.13 active(U23(tt)) -> mark(tt) 460.09/164.13 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.13 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.13 active(U33(tt)) -> mark(tt) 460.09/164.13 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.13 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.13 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.13 active(U46(tt)) -> mark(tt) 460.09/164.13 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.13 active(U52(tt)) -> mark(tt) 460.09/164.13 active(U61(tt)) -> mark(tt) 460.09/164.13 active(U71(tt)) -> mark(tt) 460.09/164.13 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.13 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.13 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.13 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.13 active(U86(tt)) -> mark(tt) 460.09/164.13 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.13 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.13 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.13 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.13 active(isNat(0)) -> mark(tt) 460.09/164.13 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.13 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.13 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.13 active(isNatIList(zeros)) -> mark(tt) 460.09/164.13 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.13 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.13 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.13 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.13 active(isNatKind(0)) -> mark(tt) 460.09/164.13 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.13 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.13 active(isNatList(nil)) -> mark(tt) 460.09/164.13 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.13 active(length(nil)) -> mark(0) 460.09/164.13 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.13 mark(zeros) -> active(zeros) 460.09/164.13 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.13 mark(0) -> active(0) 460.09/164.13 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.13 mark(tt) -> active(tt) 460.09/164.13 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.13 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.13 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.13 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.13 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.13 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.13 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.13 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.13 mark(isNat(X)) -> active(isNat(X)) 460.09/164.13 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.13 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.13 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.13 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.13 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.13 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.13 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.13 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.13 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.13 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.13 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.13 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.13 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.13 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.13 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.13 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.13 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.13 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.13 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.13 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.13 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.13 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.13 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.13 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.13 mark(s(X)) -> active(s(mark(X))) 460.09/164.13 mark(length(X)) -> active(length(mark(X))) 460.09/164.13 mark(nil) -> active(nil) 460.09/164.13 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.13 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.13 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.13 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.13 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.13 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.13 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.13 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.13 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.13 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.13 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.13 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.13 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.13 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.13 U13(mark(X)) -> U13(X) 460.09/164.13 U13(active(X)) -> U13(X) 460.09/164.13 isNatList(mark(X)) -> isNatList(X) 460.09/164.13 isNatList(active(X)) -> isNatList(X) 460.09/164.13 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.13 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.13 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.13 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.13 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.13 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.13 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.13 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.13 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.13 isNatKind(active(X)) -> isNatKind(X) 460.09/164.13 U23(mark(X)) -> U23(X) 460.09/164.13 U23(active(X)) -> U23(X) 460.09/164.13 isNat(mark(X)) -> isNat(X) 460.09/164.13 isNat(active(X)) -> isNat(X) 460.09/164.13 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.13 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.13 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.13 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.13 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.13 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.13 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.13 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.13 U33(mark(X)) -> U33(X) 460.09/164.13 U33(active(X)) -> U33(X) 460.09/164.13 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.13 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.13 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.13 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.13 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.13 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.13 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.13 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.13 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.13 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.13 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.13 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.13 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.13 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.13 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.13 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.13 U46(mark(X)) -> U46(X) 460.09/164.13 U46(active(X)) -> U46(X) 460.09/164.13 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.13 isNatIList(active(X)) -> isNatIList(X) 460.09/164.13 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.13 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.13 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.13 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.13 U52(mark(X)) -> U52(X) 460.09/164.13 U52(active(X)) -> U52(X) 460.09/164.13 U61(mark(X)) -> U61(X) 460.09/164.13 U61(active(X)) -> U61(X) 460.09/164.13 U71(mark(X)) -> U71(X) 460.09/164.13 U71(active(X)) -> U71(X) 460.09/164.13 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.13 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.13 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.13 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.13 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.13 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.13 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.13 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.13 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.13 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.13 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.13 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.13 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.13 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.13 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.13 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.13 U86(mark(X)) -> U86(X) 460.09/164.13 U86(active(X)) -> U86(X) 460.09/164.13 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.13 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.13 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.13 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.13 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.13 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.13 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.13 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.13 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.13 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.13 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.13 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.13 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.13 s(mark(X)) -> s(X) 460.09/164.13 s(active(X)) -> s(X) 460.09/164.13 length(mark(X)) -> length(X) 460.09/164.13 length(active(X)) -> length(X) 460.09/164.13 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (181) UsableRulesProof (EQUIVALENT) 460.09/164.13 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. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (182) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 460.09/164.13 U31^1(mark(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(active(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(X1, active(X2)) -> U31^1(X1, X2) 460.09/164.13 460.09/164.13 R is empty. 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.13 mark(U23(x0)) 460.09/164.13 mark(isNat(x0)) 460.09/164.13 mark(U31(x0, x1)) 460.09/164.13 mark(U32(x0, x1)) 460.09/164.13 mark(U33(x0)) 460.09/164.13 mark(U41(x0, x1, x2)) 460.09/164.13 mark(U42(x0, x1, x2)) 460.09/164.13 mark(U43(x0, x1, x2)) 460.09/164.13 mark(U44(x0, x1, x2)) 460.09/164.13 mark(U45(x0, x1)) 460.09/164.13 mark(U46(x0)) 460.09/164.13 mark(isNatIList(x0)) 460.09/164.13 mark(U51(x0, x1)) 460.09/164.13 mark(U52(x0)) 460.09/164.13 mark(U61(x0)) 460.09/164.13 mark(U71(x0)) 460.09/164.13 mark(U81(x0, x1, x2)) 460.09/164.13 mark(U82(x0, x1, x2)) 460.09/164.13 mark(U83(x0, x1, x2)) 460.09/164.13 mark(U84(x0, x1, x2)) 460.09/164.13 mark(U85(x0, x1)) 460.09/164.13 mark(U86(x0)) 460.09/164.13 mark(U91(x0, x1, x2)) 460.09/164.13 mark(U92(x0, x1, x2)) 460.09/164.13 mark(U93(x0, x1, x2)) 460.09/164.13 mark(U94(x0, x1)) 460.09/164.13 mark(s(x0)) 460.09/164.13 mark(length(x0)) 460.09/164.13 mark(nil) 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 We have to consider all minimal (P,Q,R)-chains. 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (183) QReductionProof (EQUIVALENT) 460.09/164.13 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.13 460.09/164.13 cons(mark(x0), x1) 460.09/164.13 cons(x0, mark(x1)) 460.09/164.13 cons(active(x0), x1) 460.09/164.13 cons(x0, active(x1)) 460.09/164.13 U11(mark(x0), x1) 460.09/164.13 U11(x0, mark(x1)) 460.09/164.13 U11(active(x0), x1) 460.09/164.13 U11(x0, active(x1)) 460.09/164.13 U12(mark(x0), x1) 460.09/164.13 U12(x0, mark(x1)) 460.09/164.13 U12(active(x0), x1) 460.09/164.13 U12(x0, active(x1)) 460.09/164.13 isNatIListKind(mark(x0)) 460.09/164.13 isNatIListKind(active(x0)) 460.09/164.13 U13(mark(x0)) 460.09/164.13 U13(active(x0)) 460.09/164.13 isNatList(mark(x0)) 460.09/164.13 isNatList(active(x0)) 460.09/164.13 U21(mark(x0), x1) 460.09/164.13 U21(x0, mark(x1)) 460.09/164.13 U21(active(x0), x1) 460.09/164.13 U21(x0, active(x1)) 460.09/164.13 U22(mark(x0), x1) 460.09/164.13 U22(x0, mark(x1)) 460.09/164.13 U22(active(x0), x1) 460.09/164.13 U22(x0, active(x1)) 460.09/164.13 isNatKind(mark(x0)) 460.09/164.13 isNatKind(active(x0)) 460.09/164.13 U23(mark(x0)) 460.09/164.13 U23(active(x0)) 460.09/164.13 isNat(mark(x0)) 460.09/164.13 isNat(active(x0)) 460.09/164.13 U31(mark(x0), x1) 460.09/164.13 U31(x0, mark(x1)) 460.09/164.13 U31(active(x0), x1) 460.09/164.13 U31(x0, active(x1)) 460.09/164.13 U32(mark(x0), x1) 460.09/164.13 U32(x0, mark(x1)) 460.09/164.13 U32(active(x0), x1) 460.09/164.13 U32(x0, active(x1)) 460.09/164.13 U33(mark(x0)) 460.09/164.13 U33(active(x0)) 460.09/164.13 U41(mark(x0), x1, x2) 460.09/164.13 U41(x0, mark(x1), x2) 460.09/164.13 U41(x0, x1, mark(x2)) 460.09/164.13 U41(active(x0), x1, x2) 460.09/164.13 U41(x0, active(x1), x2) 460.09/164.13 U41(x0, x1, active(x2)) 460.09/164.13 U42(mark(x0), x1, x2) 460.09/164.13 U42(x0, mark(x1), x2) 460.09/164.13 U42(x0, x1, mark(x2)) 460.09/164.13 U42(active(x0), x1, x2) 460.09/164.13 U42(x0, active(x1), x2) 460.09/164.13 U42(x0, x1, active(x2)) 460.09/164.13 U43(mark(x0), x1, x2) 460.09/164.13 U43(x0, mark(x1), x2) 460.09/164.13 U43(x0, x1, mark(x2)) 460.09/164.13 U43(active(x0), x1, x2) 460.09/164.13 U43(x0, active(x1), x2) 460.09/164.13 U43(x0, x1, active(x2)) 460.09/164.13 U44(mark(x0), x1, x2) 460.09/164.13 U44(x0, mark(x1), x2) 460.09/164.13 U44(x0, x1, mark(x2)) 460.09/164.13 U44(active(x0), x1, x2) 460.09/164.13 U44(x0, active(x1), x2) 460.09/164.13 U44(x0, x1, active(x2)) 460.09/164.13 U45(mark(x0), x1) 460.09/164.13 U45(x0, mark(x1)) 460.09/164.13 U45(active(x0), x1) 460.09/164.13 U45(x0, active(x1)) 460.09/164.13 U46(mark(x0)) 460.09/164.13 U46(active(x0)) 460.09/164.13 isNatIList(mark(x0)) 460.09/164.13 isNatIList(active(x0)) 460.09/164.13 U51(mark(x0), x1) 460.09/164.13 U51(x0, mark(x1)) 460.09/164.13 U51(active(x0), x1) 460.09/164.13 U51(x0, active(x1)) 460.09/164.13 U52(mark(x0)) 460.09/164.13 U52(active(x0)) 460.09/164.13 U61(mark(x0)) 460.09/164.13 U61(active(x0)) 460.09/164.13 U71(mark(x0)) 460.09/164.13 U71(active(x0)) 460.09/164.13 U81(mark(x0), x1, x2) 460.09/164.13 U81(x0, mark(x1), x2) 460.09/164.13 U81(x0, x1, mark(x2)) 460.09/164.13 U81(active(x0), x1, x2) 460.09/164.13 U81(x0, active(x1), x2) 460.09/164.13 U81(x0, x1, active(x2)) 460.09/164.13 U82(mark(x0), x1, x2) 460.09/164.13 U82(x0, mark(x1), x2) 460.09/164.13 U82(x0, x1, mark(x2)) 460.09/164.13 U82(active(x0), x1, x2) 460.09/164.13 U82(x0, active(x1), x2) 460.09/164.13 U82(x0, x1, active(x2)) 460.09/164.13 U83(mark(x0), x1, x2) 460.09/164.13 U83(x0, mark(x1), x2) 460.09/164.13 U83(x0, x1, mark(x2)) 460.09/164.13 U83(active(x0), x1, x2) 460.09/164.13 U83(x0, active(x1), x2) 460.09/164.13 U83(x0, x1, active(x2)) 460.09/164.13 U84(mark(x0), x1, x2) 460.09/164.13 U84(x0, mark(x1), x2) 460.09/164.13 U84(x0, x1, mark(x2)) 460.09/164.13 U84(active(x0), x1, x2) 460.09/164.13 U84(x0, active(x1), x2) 460.09/164.13 U84(x0, x1, active(x2)) 460.09/164.13 U85(mark(x0), x1) 460.09/164.13 U85(x0, mark(x1)) 460.09/164.13 U85(active(x0), x1) 460.09/164.13 U85(x0, active(x1)) 460.09/164.13 U86(mark(x0)) 460.09/164.13 U86(active(x0)) 460.09/164.13 U91(mark(x0), x1, x2) 460.09/164.13 U91(x0, mark(x1), x2) 460.09/164.13 U91(x0, x1, mark(x2)) 460.09/164.13 U91(active(x0), x1, x2) 460.09/164.13 U91(x0, active(x1), x2) 460.09/164.13 U91(x0, x1, active(x2)) 460.09/164.13 U92(mark(x0), x1, x2) 460.09/164.13 U92(x0, mark(x1), x2) 460.09/164.13 U92(x0, x1, mark(x2)) 460.09/164.13 U92(active(x0), x1, x2) 460.09/164.13 U92(x0, active(x1), x2) 460.09/164.13 U92(x0, x1, active(x2)) 460.09/164.13 U93(mark(x0), x1, x2) 460.09/164.13 U93(x0, mark(x1), x2) 460.09/164.13 U93(x0, x1, mark(x2)) 460.09/164.13 U93(active(x0), x1, x2) 460.09/164.13 U93(x0, active(x1), x2) 460.09/164.13 U93(x0, x1, active(x2)) 460.09/164.13 U94(mark(x0), x1) 460.09/164.13 U94(x0, mark(x1)) 460.09/164.13 U94(active(x0), x1) 460.09/164.13 U94(x0, active(x1)) 460.09/164.13 s(mark(x0)) 460.09/164.13 s(active(x0)) 460.09/164.13 length(mark(x0)) 460.09/164.13 length(active(x0)) 460.09/164.13 460.09/164.13 460.09/164.13 ---------------------------------------- 460.09/164.13 460.09/164.13 (184) 460.09/164.13 Obligation: 460.09/164.13 Q DP problem: 460.09/164.13 The TRS P consists of the following rules: 460.09/164.13 460.09/164.13 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 460.09/164.13 U31^1(mark(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(active(X1), X2) -> U31^1(X1, X2) 460.09/164.13 U31^1(X1, active(X2)) -> U31^1(X1, X2) 460.09/164.13 460.09/164.13 R is empty. 460.09/164.13 The set Q consists of the following terms: 460.09/164.13 460.09/164.13 active(zeros) 460.09/164.13 active(U11(tt, x0)) 460.09/164.13 active(U12(tt, x0)) 460.09/164.13 active(U13(tt)) 460.09/164.13 active(U21(tt, x0)) 460.09/164.13 active(U22(tt, x0)) 460.09/164.13 active(U23(tt)) 460.09/164.13 active(U31(tt, x0)) 460.09/164.13 active(U32(tt, x0)) 460.09/164.13 active(U33(tt)) 460.09/164.13 active(U41(tt, x0, x1)) 460.09/164.13 active(U42(tt, x0, x1)) 460.09/164.13 active(U43(tt, x0, x1)) 460.09/164.13 active(U44(tt, x0, x1)) 460.09/164.13 active(U45(tt, x0)) 460.09/164.13 active(U46(tt)) 460.09/164.13 active(U51(tt, x0)) 460.09/164.13 active(U52(tt)) 460.09/164.13 active(U61(tt)) 460.09/164.13 active(U71(tt)) 460.09/164.13 active(U81(tt, x0, x1)) 460.09/164.13 active(U82(tt, x0, x1)) 460.09/164.13 active(U83(tt, x0, x1)) 460.09/164.13 active(U84(tt, x0, x1)) 460.09/164.13 active(U85(tt, x0)) 460.09/164.13 active(U86(tt)) 460.09/164.13 active(U91(tt, x0, x1)) 460.09/164.13 active(U92(tt, x0, x1)) 460.09/164.13 active(U93(tt, x0, x1)) 460.09/164.13 active(U94(tt, x0)) 460.09/164.13 active(isNat(0)) 460.09/164.13 active(isNat(length(x0))) 460.09/164.13 active(isNat(s(x0))) 460.09/164.13 active(isNatIList(x0)) 460.09/164.13 active(isNatIListKind(nil)) 460.09/164.13 active(isNatIListKind(zeros)) 460.09/164.13 active(isNatIListKind(cons(x0, x1))) 460.09/164.13 active(isNatKind(0)) 460.09/164.13 active(isNatKind(length(x0))) 460.09/164.13 active(isNatKind(s(x0))) 460.09/164.13 active(isNatList(nil)) 460.09/164.13 active(isNatList(cons(x0, x1))) 460.09/164.13 active(length(nil)) 460.09/164.13 active(length(cons(x0, x1))) 460.09/164.13 mark(zeros) 460.09/164.13 mark(cons(x0, x1)) 460.09/164.13 mark(0) 460.09/164.13 mark(U11(x0, x1)) 460.09/164.13 mark(tt) 460.09/164.13 mark(U12(x0, x1)) 460.09/164.13 mark(isNatIListKind(x0)) 460.09/164.13 mark(U13(x0)) 460.09/164.13 mark(isNatList(x0)) 460.09/164.13 mark(U21(x0, x1)) 460.09/164.13 mark(U22(x0, x1)) 460.09/164.13 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (185) QDPSizeChangeProof (EQUIVALENT) 460.09/164.14 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. 460.09/164.14 460.09/164.14 From the DPs we obtained the following set of size-change graphs: 460.09/164.14 *U31^1(X1, mark(X2)) -> U31^1(X1, X2) 460.09/164.14 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.14 460.09/164.14 460.09/164.14 *U31^1(mark(X1), X2) -> U31^1(X1, X2) 460.09/164.14 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.14 460.09/164.14 460.09/164.14 *U31^1(active(X1), X2) -> U31^1(X1, X2) 460.09/164.14 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.14 460.09/164.14 460.09/164.14 *U31^1(X1, active(X2)) -> U31^1(X1, X2) 460.09/164.14 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.14 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (186) 460.09/164.14 YES 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (187) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 ISNAT(active(X)) -> ISNAT(X) 460.09/164.14 ISNAT(mark(X)) -> ISNAT(X) 460.09/164.14 460.09/164.14 The TRS R consists of the following rules: 460.09/164.14 460.09/164.14 active(zeros) -> mark(cons(0, zeros)) 460.09/164.14 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.14 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.14 active(U13(tt)) -> mark(tt) 460.09/164.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.14 active(U23(tt)) -> mark(tt) 460.09/164.14 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.14 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.14 active(U33(tt)) -> mark(tt) 460.09/164.14 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.14 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.14 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.14 active(U46(tt)) -> mark(tt) 460.09/164.14 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.14 active(U52(tt)) -> mark(tt) 460.09/164.14 active(U61(tt)) -> mark(tt) 460.09/164.14 active(U71(tt)) -> mark(tt) 460.09/164.14 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.14 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.14 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.14 active(U86(tt)) -> mark(tt) 460.09/164.14 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.14 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.14 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.14 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.14 active(isNat(0)) -> mark(tt) 460.09/164.14 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.14 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.14 active(isNatIList(zeros)) -> mark(tt) 460.09/164.14 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.14 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.14 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.14 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.14 active(isNatKind(0)) -> mark(tt) 460.09/164.14 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.14 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.14 active(isNatList(nil)) -> mark(tt) 460.09/164.14 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.14 active(length(nil)) -> mark(0) 460.09/164.14 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.14 mark(zeros) -> active(zeros) 460.09/164.14 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.14 mark(0) -> active(0) 460.09/164.14 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.14 mark(tt) -> active(tt) 460.09/164.14 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.14 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.14 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.14 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.14 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.14 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.14 mark(isNat(X)) -> active(isNat(X)) 460.09/164.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.14 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.14 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.14 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.14 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.14 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.14 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.14 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.14 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.14 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.14 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.14 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.14 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.14 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.14 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.14 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.14 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.14 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.14 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.14 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.14 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.14 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.14 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.14 mark(s(X)) -> active(s(mark(X))) 460.09/164.14 mark(length(X)) -> active(length(mark(X))) 460.09/164.14 mark(nil) -> active(nil) 460.09/164.14 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.14 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.14 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.14 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.14 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.14 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.14 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.14 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.14 U13(mark(X)) -> U13(X) 460.09/164.14 U13(active(X)) -> U13(X) 460.09/164.14 isNatList(mark(X)) -> isNatList(X) 460.09/164.14 isNatList(active(X)) -> isNatList(X) 460.09/164.14 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.14 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.14 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.14 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.14 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.14 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.14 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.14 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.14 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.14 isNatKind(active(X)) -> isNatKind(X) 460.09/164.14 U23(mark(X)) -> U23(X) 460.09/164.14 U23(active(X)) -> U23(X) 460.09/164.14 isNat(mark(X)) -> isNat(X) 460.09/164.14 isNat(active(X)) -> isNat(X) 460.09/164.14 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.14 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.14 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.14 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.14 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.14 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.14 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.14 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.14 U33(mark(X)) -> U33(X) 460.09/164.14 U33(active(X)) -> U33(X) 460.09/164.14 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.14 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.14 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.14 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.14 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.14 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.14 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.14 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.14 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.14 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.14 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.14 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.14 U46(mark(X)) -> U46(X) 460.09/164.14 U46(active(X)) -> U46(X) 460.09/164.14 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.14 isNatIList(active(X)) -> isNatIList(X) 460.09/164.14 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.14 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.14 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.14 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.14 U52(mark(X)) -> U52(X) 460.09/164.14 U52(active(X)) -> U52(X) 460.09/164.14 U61(mark(X)) -> U61(X) 460.09/164.14 U61(active(X)) -> U61(X) 460.09/164.14 U71(mark(X)) -> U71(X) 460.09/164.14 U71(active(X)) -> U71(X) 460.09/164.14 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.14 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.14 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.14 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.14 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.14 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.14 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.14 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.14 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.14 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.14 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.14 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.14 U86(mark(X)) -> U86(X) 460.09/164.14 U86(active(X)) -> U86(X) 460.09/164.14 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.14 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.14 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.14 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.14 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.14 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.14 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.14 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.14 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.14 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.14 s(mark(X)) -> s(X) 460.09/164.14 s(active(X)) -> s(X) 460.09/164.14 length(mark(X)) -> length(X) 460.09/164.14 length(active(X)) -> length(X) 460.09/164.14 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (188) UsableRulesProof (EQUIVALENT) 460.09/164.14 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. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (189) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 ISNAT(active(X)) -> ISNAT(X) 460.09/164.14 ISNAT(mark(X)) -> ISNAT(X) 460.09/164.14 460.09/164.14 R is empty. 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (190) QReductionProof (EQUIVALENT) 460.09/164.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.14 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (191) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 ISNAT(active(X)) -> ISNAT(X) 460.09/164.14 ISNAT(mark(X)) -> ISNAT(X) 460.09/164.14 460.09/164.14 R is empty. 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (192) QDPSizeChangeProof (EQUIVALENT) 460.09/164.14 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. 460.09/164.14 460.09/164.14 From the DPs we obtained the following set of size-change graphs: 460.09/164.14 *ISNAT(active(X)) -> ISNAT(X) 460.09/164.14 The graph contains the following edges 1 > 1 460.09/164.14 460.09/164.14 460.09/164.14 *ISNAT(mark(X)) -> ISNAT(X) 460.09/164.14 The graph contains the following edges 1 > 1 460.09/164.14 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (193) 460.09/164.14 YES 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (194) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 U23^1(active(X)) -> U23^1(X) 460.09/164.14 U23^1(mark(X)) -> U23^1(X) 460.09/164.14 460.09/164.14 The TRS R consists of the following rules: 460.09/164.14 460.09/164.14 active(zeros) -> mark(cons(0, zeros)) 460.09/164.14 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.14 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.14 active(U13(tt)) -> mark(tt) 460.09/164.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.14 active(U23(tt)) -> mark(tt) 460.09/164.14 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.14 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.14 active(U33(tt)) -> mark(tt) 460.09/164.14 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.14 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.14 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.14 active(U46(tt)) -> mark(tt) 460.09/164.14 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.14 active(U52(tt)) -> mark(tt) 460.09/164.14 active(U61(tt)) -> mark(tt) 460.09/164.14 active(U71(tt)) -> mark(tt) 460.09/164.14 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.14 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.14 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.14 active(U86(tt)) -> mark(tt) 460.09/164.14 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.14 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.14 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.14 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.14 active(isNat(0)) -> mark(tt) 460.09/164.14 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.14 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.14 active(isNatIList(zeros)) -> mark(tt) 460.09/164.14 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.14 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.14 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.14 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.14 active(isNatKind(0)) -> mark(tt) 460.09/164.14 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.14 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.14 active(isNatList(nil)) -> mark(tt) 460.09/164.14 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.14 active(length(nil)) -> mark(0) 460.09/164.14 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.14 mark(zeros) -> active(zeros) 460.09/164.14 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.14 mark(0) -> active(0) 460.09/164.14 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.14 mark(tt) -> active(tt) 460.09/164.14 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.14 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.14 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.14 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.14 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.14 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.14 mark(isNat(X)) -> active(isNat(X)) 460.09/164.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.14 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.14 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.14 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.14 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.14 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.14 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.14 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.14 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.14 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.14 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.14 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.14 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.14 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.14 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.14 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.14 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.14 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.14 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.14 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.14 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.14 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.14 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.14 mark(s(X)) -> active(s(mark(X))) 460.09/164.14 mark(length(X)) -> active(length(mark(X))) 460.09/164.14 mark(nil) -> active(nil) 460.09/164.14 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.14 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.14 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.14 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.14 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.14 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.14 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.14 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.14 U13(mark(X)) -> U13(X) 460.09/164.14 U13(active(X)) -> U13(X) 460.09/164.14 isNatList(mark(X)) -> isNatList(X) 460.09/164.14 isNatList(active(X)) -> isNatList(X) 460.09/164.14 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.14 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.14 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.14 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.14 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.14 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.14 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.14 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.14 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.14 isNatKind(active(X)) -> isNatKind(X) 460.09/164.14 U23(mark(X)) -> U23(X) 460.09/164.14 U23(active(X)) -> U23(X) 460.09/164.14 isNat(mark(X)) -> isNat(X) 460.09/164.14 isNat(active(X)) -> isNat(X) 460.09/164.14 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.14 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.14 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.14 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.14 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.14 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.14 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.14 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.14 U33(mark(X)) -> U33(X) 460.09/164.14 U33(active(X)) -> U33(X) 460.09/164.14 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.14 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.14 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.14 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.14 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.14 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.14 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.14 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.14 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.14 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.14 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.14 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.14 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.14 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.14 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.14 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.14 U46(mark(X)) -> U46(X) 460.09/164.14 U46(active(X)) -> U46(X) 460.09/164.14 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.14 isNatIList(active(X)) -> isNatIList(X) 460.09/164.14 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.14 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.14 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.14 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.14 U52(mark(X)) -> U52(X) 460.09/164.14 U52(active(X)) -> U52(X) 460.09/164.14 U61(mark(X)) -> U61(X) 460.09/164.14 U61(active(X)) -> U61(X) 460.09/164.14 U71(mark(X)) -> U71(X) 460.09/164.14 U71(active(X)) -> U71(X) 460.09/164.14 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.14 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.14 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.14 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.14 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.14 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.14 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.14 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.14 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.14 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.14 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.14 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.14 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.14 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.14 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.14 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.14 U86(mark(X)) -> U86(X) 460.09/164.14 U86(active(X)) -> U86(X) 460.09/164.14 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.14 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.14 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.14 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.14 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.14 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.14 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.14 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.14 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.14 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.14 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.14 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.14 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.14 s(mark(X)) -> s(X) 460.09/164.14 s(active(X)) -> s(X) 460.09/164.14 length(mark(X)) -> length(X) 460.09/164.14 length(active(X)) -> length(X) 460.09/164.14 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (195) UsableRulesProof (EQUIVALENT) 460.09/164.14 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. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (196) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 U23^1(active(X)) -> U23^1(X) 460.09/164.14 U23^1(mark(X)) -> U23^1(X) 460.09/164.14 460.09/164.14 R is empty. 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (197) QReductionProof (EQUIVALENT) 460.09/164.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.14 460.09/164.14 cons(mark(x0), x1) 460.09/164.14 cons(x0, mark(x1)) 460.09/164.14 cons(active(x0), x1) 460.09/164.14 cons(x0, active(x1)) 460.09/164.14 U11(mark(x0), x1) 460.09/164.14 U11(x0, mark(x1)) 460.09/164.14 U11(active(x0), x1) 460.09/164.14 U11(x0, active(x1)) 460.09/164.14 U12(mark(x0), x1) 460.09/164.14 U12(x0, mark(x1)) 460.09/164.14 U12(active(x0), x1) 460.09/164.14 U12(x0, active(x1)) 460.09/164.14 isNatIListKind(mark(x0)) 460.09/164.14 isNatIListKind(active(x0)) 460.09/164.14 U13(mark(x0)) 460.09/164.14 U13(active(x0)) 460.09/164.14 isNatList(mark(x0)) 460.09/164.14 isNatList(active(x0)) 460.09/164.14 U21(mark(x0), x1) 460.09/164.14 U21(x0, mark(x1)) 460.09/164.14 U21(active(x0), x1) 460.09/164.14 U21(x0, active(x1)) 460.09/164.14 U22(mark(x0), x1) 460.09/164.14 U22(x0, mark(x1)) 460.09/164.14 U22(active(x0), x1) 460.09/164.14 U22(x0, active(x1)) 460.09/164.14 isNatKind(mark(x0)) 460.09/164.14 isNatKind(active(x0)) 460.09/164.14 U23(mark(x0)) 460.09/164.14 U23(active(x0)) 460.09/164.14 isNat(mark(x0)) 460.09/164.14 isNat(active(x0)) 460.09/164.14 U31(mark(x0), x1) 460.09/164.14 U31(x0, mark(x1)) 460.09/164.14 U31(active(x0), x1) 460.09/164.14 U31(x0, active(x1)) 460.09/164.14 U32(mark(x0), x1) 460.09/164.14 U32(x0, mark(x1)) 460.09/164.14 U32(active(x0), x1) 460.09/164.14 U32(x0, active(x1)) 460.09/164.14 U33(mark(x0)) 460.09/164.14 U33(active(x0)) 460.09/164.14 U41(mark(x0), x1, x2) 460.09/164.14 U41(x0, mark(x1), x2) 460.09/164.14 U41(x0, x1, mark(x2)) 460.09/164.14 U41(active(x0), x1, x2) 460.09/164.14 U41(x0, active(x1), x2) 460.09/164.14 U41(x0, x1, active(x2)) 460.09/164.14 U42(mark(x0), x1, x2) 460.09/164.14 U42(x0, mark(x1), x2) 460.09/164.14 U42(x0, x1, mark(x2)) 460.09/164.14 U42(active(x0), x1, x2) 460.09/164.14 U42(x0, active(x1), x2) 460.09/164.14 U42(x0, x1, active(x2)) 460.09/164.14 U43(mark(x0), x1, x2) 460.09/164.14 U43(x0, mark(x1), x2) 460.09/164.14 U43(x0, x1, mark(x2)) 460.09/164.14 U43(active(x0), x1, x2) 460.09/164.14 U43(x0, active(x1), x2) 460.09/164.14 U43(x0, x1, active(x2)) 460.09/164.14 U44(mark(x0), x1, x2) 460.09/164.14 U44(x0, mark(x1), x2) 460.09/164.14 U44(x0, x1, mark(x2)) 460.09/164.14 U44(active(x0), x1, x2) 460.09/164.14 U44(x0, active(x1), x2) 460.09/164.14 U44(x0, x1, active(x2)) 460.09/164.14 U45(mark(x0), x1) 460.09/164.14 U45(x0, mark(x1)) 460.09/164.14 U45(active(x0), x1) 460.09/164.14 U45(x0, active(x1)) 460.09/164.14 U46(mark(x0)) 460.09/164.14 U46(active(x0)) 460.09/164.14 isNatIList(mark(x0)) 460.09/164.14 isNatIList(active(x0)) 460.09/164.14 U51(mark(x0), x1) 460.09/164.14 U51(x0, mark(x1)) 460.09/164.14 U51(active(x0), x1) 460.09/164.14 U51(x0, active(x1)) 460.09/164.14 U52(mark(x0)) 460.09/164.14 U52(active(x0)) 460.09/164.14 U61(mark(x0)) 460.09/164.14 U61(active(x0)) 460.09/164.14 U71(mark(x0)) 460.09/164.14 U71(active(x0)) 460.09/164.14 U81(mark(x0), x1, x2) 460.09/164.14 U81(x0, mark(x1), x2) 460.09/164.14 U81(x0, x1, mark(x2)) 460.09/164.14 U81(active(x0), x1, x2) 460.09/164.14 U81(x0, active(x1), x2) 460.09/164.14 U81(x0, x1, active(x2)) 460.09/164.14 U82(mark(x0), x1, x2) 460.09/164.14 U82(x0, mark(x1), x2) 460.09/164.14 U82(x0, x1, mark(x2)) 460.09/164.14 U82(active(x0), x1, x2) 460.09/164.14 U82(x0, active(x1), x2) 460.09/164.14 U82(x0, x1, active(x2)) 460.09/164.14 U83(mark(x0), x1, x2) 460.09/164.14 U83(x0, mark(x1), x2) 460.09/164.14 U83(x0, x1, mark(x2)) 460.09/164.14 U83(active(x0), x1, x2) 460.09/164.14 U83(x0, active(x1), x2) 460.09/164.14 U83(x0, x1, active(x2)) 460.09/164.14 U84(mark(x0), x1, x2) 460.09/164.14 U84(x0, mark(x1), x2) 460.09/164.14 U84(x0, x1, mark(x2)) 460.09/164.14 U84(active(x0), x1, x2) 460.09/164.14 U84(x0, active(x1), x2) 460.09/164.14 U84(x0, x1, active(x2)) 460.09/164.14 U85(mark(x0), x1) 460.09/164.14 U85(x0, mark(x1)) 460.09/164.14 U85(active(x0), x1) 460.09/164.14 U85(x0, active(x1)) 460.09/164.14 U86(mark(x0)) 460.09/164.14 U86(active(x0)) 460.09/164.14 U91(mark(x0), x1, x2) 460.09/164.14 U91(x0, mark(x1), x2) 460.09/164.14 U91(x0, x1, mark(x2)) 460.09/164.14 U91(active(x0), x1, x2) 460.09/164.14 U91(x0, active(x1), x2) 460.09/164.14 U91(x0, x1, active(x2)) 460.09/164.14 U92(mark(x0), x1, x2) 460.09/164.14 U92(x0, mark(x1), x2) 460.09/164.14 U92(x0, x1, mark(x2)) 460.09/164.14 U92(active(x0), x1, x2) 460.09/164.14 U92(x0, active(x1), x2) 460.09/164.14 U92(x0, x1, active(x2)) 460.09/164.14 U93(mark(x0), x1, x2) 460.09/164.14 U93(x0, mark(x1), x2) 460.09/164.14 U93(x0, x1, mark(x2)) 460.09/164.14 U93(active(x0), x1, x2) 460.09/164.14 U93(x0, active(x1), x2) 460.09/164.14 U93(x0, x1, active(x2)) 460.09/164.14 U94(mark(x0), x1) 460.09/164.14 U94(x0, mark(x1)) 460.09/164.14 U94(active(x0), x1) 460.09/164.14 U94(x0, active(x1)) 460.09/164.14 s(mark(x0)) 460.09/164.14 s(active(x0)) 460.09/164.14 length(mark(x0)) 460.09/164.14 length(active(x0)) 460.09/164.14 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (198) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 U23^1(active(X)) -> U23^1(X) 460.09/164.14 U23^1(mark(X)) -> U23^1(X) 460.09/164.14 460.09/164.14 R is empty. 460.09/164.14 The set Q consists of the following terms: 460.09/164.14 460.09/164.14 active(zeros) 460.09/164.14 active(U11(tt, x0)) 460.09/164.14 active(U12(tt, x0)) 460.09/164.14 active(U13(tt)) 460.09/164.14 active(U21(tt, x0)) 460.09/164.14 active(U22(tt, x0)) 460.09/164.14 active(U23(tt)) 460.09/164.14 active(U31(tt, x0)) 460.09/164.14 active(U32(tt, x0)) 460.09/164.14 active(U33(tt)) 460.09/164.14 active(U41(tt, x0, x1)) 460.09/164.14 active(U42(tt, x0, x1)) 460.09/164.14 active(U43(tt, x0, x1)) 460.09/164.14 active(U44(tt, x0, x1)) 460.09/164.14 active(U45(tt, x0)) 460.09/164.14 active(U46(tt)) 460.09/164.14 active(U51(tt, x0)) 460.09/164.14 active(U52(tt)) 460.09/164.14 active(U61(tt)) 460.09/164.14 active(U71(tt)) 460.09/164.14 active(U81(tt, x0, x1)) 460.09/164.14 active(U82(tt, x0, x1)) 460.09/164.14 active(U83(tt, x0, x1)) 460.09/164.14 active(U84(tt, x0, x1)) 460.09/164.14 active(U85(tt, x0)) 460.09/164.14 active(U86(tt)) 460.09/164.14 active(U91(tt, x0, x1)) 460.09/164.14 active(U92(tt, x0, x1)) 460.09/164.14 active(U93(tt, x0, x1)) 460.09/164.14 active(U94(tt, x0)) 460.09/164.14 active(isNat(0)) 460.09/164.14 active(isNat(length(x0))) 460.09/164.14 active(isNat(s(x0))) 460.09/164.14 active(isNatIList(x0)) 460.09/164.14 active(isNatIListKind(nil)) 460.09/164.14 active(isNatIListKind(zeros)) 460.09/164.14 active(isNatIListKind(cons(x0, x1))) 460.09/164.14 active(isNatKind(0)) 460.09/164.14 active(isNatKind(length(x0))) 460.09/164.14 active(isNatKind(s(x0))) 460.09/164.14 active(isNatList(nil)) 460.09/164.14 active(isNatList(cons(x0, x1))) 460.09/164.14 active(length(nil)) 460.09/164.14 active(length(cons(x0, x1))) 460.09/164.14 mark(zeros) 460.09/164.14 mark(cons(x0, x1)) 460.09/164.14 mark(0) 460.09/164.14 mark(U11(x0, x1)) 460.09/164.14 mark(tt) 460.09/164.14 mark(U12(x0, x1)) 460.09/164.14 mark(isNatIListKind(x0)) 460.09/164.14 mark(U13(x0)) 460.09/164.14 mark(isNatList(x0)) 460.09/164.14 mark(U21(x0, x1)) 460.09/164.14 mark(U22(x0, x1)) 460.09/164.14 mark(isNatKind(x0)) 460.09/164.14 mark(U23(x0)) 460.09/164.14 mark(isNat(x0)) 460.09/164.14 mark(U31(x0, x1)) 460.09/164.14 mark(U32(x0, x1)) 460.09/164.14 mark(U33(x0)) 460.09/164.14 mark(U41(x0, x1, x2)) 460.09/164.14 mark(U42(x0, x1, x2)) 460.09/164.14 mark(U43(x0, x1, x2)) 460.09/164.14 mark(U44(x0, x1, x2)) 460.09/164.14 mark(U45(x0, x1)) 460.09/164.14 mark(U46(x0)) 460.09/164.14 mark(isNatIList(x0)) 460.09/164.14 mark(U51(x0, x1)) 460.09/164.14 mark(U52(x0)) 460.09/164.14 mark(U61(x0)) 460.09/164.14 mark(U71(x0)) 460.09/164.14 mark(U81(x0, x1, x2)) 460.09/164.14 mark(U82(x0, x1, x2)) 460.09/164.14 mark(U83(x0, x1, x2)) 460.09/164.14 mark(U84(x0, x1, x2)) 460.09/164.14 mark(U85(x0, x1)) 460.09/164.14 mark(U86(x0)) 460.09/164.14 mark(U91(x0, x1, x2)) 460.09/164.14 mark(U92(x0, x1, x2)) 460.09/164.14 mark(U93(x0, x1, x2)) 460.09/164.14 mark(U94(x0, x1)) 460.09/164.14 mark(s(x0)) 460.09/164.14 mark(length(x0)) 460.09/164.14 mark(nil) 460.09/164.14 460.09/164.14 We have to consider all minimal (P,Q,R)-chains. 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (199) QDPSizeChangeProof (EQUIVALENT) 460.09/164.14 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. 460.09/164.14 460.09/164.14 From the DPs we obtained the following set of size-change graphs: 460.09/164.14 *U23^1(active(X)) -> U23^1(X) 460.09/164.14 The graph contains the following edges 1 > 1 460.09/164.14 460.09/164.14 460.09/164.14 *U23^1(mark(X)) -> U23^1(X) 460.09/164.14 The graph contains the following edges 1 > 1 460.09/164.14 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (200) 460.09/164.14 YES 460.09/164.14 460.09/164.14 ---------------------------------------- 460.09/164.14 460.09/164.14 (201) 460.09/164.14 Obligation: 460.09/164.14 Q DP problem: 460.09/164.14 The TRS P consists of the following rules: 460.09/164.14 460.09/164.14 ISNATKIND(active(X)) -> ISNATKIND(X) 460.09/164.14 ISNATKIND(mark(X)) -> ISNATKIND(X) 460.09/164.14 460.09/164.14 The TRS R consists of the following rules: 460.09/164.14 460.09/164.14 active(zeros) -> mark(cons(0, zeros)) 460.09/164.14 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.14 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.14 active(U13(tt)) -> mark(tt) 460.09/164.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.14 active(U23(tt)) -> mark(tt) 460.09/164.14 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.14 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.14 active(U33(tt)) -> mark(tt) 460.09/164.14 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.14 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.14 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.14 active(U46(tt)) -> mark(tt) 460.09/164.14 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.14 active(U52(tt)) -> mark(tt) 460.09/164.14 active(U61(tt)) -> mark(tt) 460.09/164.14 active(U71(tt)) -> mark(tt) 460.09/164.14 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.14 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.14 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.14 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.14 active(U86(tt)) -> mark(tt) 460.09/164.14 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.14 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.14 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.14 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.14 active(isNat(0)) -> mark(tt) 460.09/164.14 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.14 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.14 active(isNatIList(zeros)) -> mark(tt) 460.09/164.14 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.14 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.14 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.14 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.14 active(isNatKind(0)) -> mark(tt) 460.09/164.14 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.14 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.14 active(isNatList(nil)) -> mark(tt) 460.09/164.14 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.14 active(length(nil)) -> mark(0) 460.09/164.14 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.14 mark(zeros) -> active(zeros) 460.09/164.14 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.14 mark(0) -> active(0) 460.09/164.14 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.14 mark(tt) -> active(tt) 460.09/164.14 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.14 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.14 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.14 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.14 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.14 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.14 mark(isNat(X)) -> active(isNat(X)) 460.09/164.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.14 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.14 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.14 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.14 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.14 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.14 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.14 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.14 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.14 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.14 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.14 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.14 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.14 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.14 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.14 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.14 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.14 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.14 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.14 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.14 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.14 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.14 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.14 mark(s(X)) -> active(s(mark(X))) 460.09/164.14 mark(length(X)) -> active(length(mark(X))) 460.09/164.14 mark(nil) -> active(nil) 460.09/164.14 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.14 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.14 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.14 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.14 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.14 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.14 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.14 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.14 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.14 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.14 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.14 U13(mark(X)) -> U13(X) 460.09/164.14 U13(active(X)) -> U13(X) 460.09/164.14 isNatList(mark(X)) -> isNatList(X) 460.09/164.14 isNatList(active(X)) -> isNatList(X) 460.09/164.14 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.15 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.15 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.15 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.15 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.15 isNatKind(active(X)) -> isNatKind(X) 460.09/164.15 U23(mark(X)) -> U23(X) 460.09/164.15 U23(active(X)) -> U23(X) 460.09/164.15 isNat(mark(X)) -> isNat(X) 460.09/164.15 isNat(active(X)) -> isNat(X) 460.09/164.15 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.15 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.15 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.15 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.15 U33(mark(X)) -> U33(X) 460.09/164.15 U33(active(X)) -> U33(X) 460.09/164.15 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.15 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.15 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.15 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.15 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.15 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.15 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.15 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.15 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.15 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.15 U46(mark(X)) -> U46(X) 460.09/164.15 U46(active(X)) -> U46(X) 460.09/164.15 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.15 isNatIList(active(X)) -> isNatIList(X) 460.09/164.15 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.15 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.15 U52(mark(X)) -> U52(X) 460.09/164.15 U52(active(X)) -> U52(X) 460.09/164.15 U61(mark(X)) -> U61(X) 460.09/164.15 U61(active(X)) -> U61(X) 460.09/164.15 U71(mark(X)) -> U71(X) 460.09/164.15 U71(active(X)) -> U71(X) 460.09/164.15 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.15 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.15 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.15 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.15 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.15 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.15 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.15 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.15 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.15 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.15 U86(mark(X)) -> U86(X) 460.09/164.15 U86(active(X)) -> U86(X) 460.09/164.15 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.15 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.15 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.15 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.15 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.15 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.15 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.15 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.15 s(mark(X)) -> s(X) 460.09/164.15 s(active(X)) -> s(X) 460.09/164.15 length(mark(X)) -> length(X) 460.09/164.15 length(active(X)) -> length(X) 460.09/164.15 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (202) UsableRulesProof (EQUIVALENT) 460.09/164.15 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. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (203) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 ISNATKIND(active(X)) -> ISNATKIND(X) 460.09/164.15 ISNATKIND(mark(X)) -> ISNATKIND(X) 460.09/164.15 460.09/164.15 R is empty. 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (204) QReductionProof (EQUIVALENT) 460.09/164.15 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.15 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (205) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 ISNATKIND(active(X)) -> ISNATKIND(X) 460.09/164.15 ISNATKIND(mark(X)) -> ISNATKIND(X) 460.09/164.15 460.09/164.15 R is empty. 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (206) QDPSizeChangeProof (EQUIVALENT) 460.09/164.15 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. 460.09/164.15 460.09/164.15 From the DPs we obtained the following set of size-change graphs: 460.09/164.15 *ISNATKIND(active(X)) -> ISNATKIND(X) 460.09/164.15 The graph contains the following edges 1 > 1 460.09/164.15 460.09/164.15 460.09/164.15 *ISNATKIND(mark(X)) -> ISNATKIND(X) 460.09/164.15 The graph contains the following edges 1 > 1 460.09/164.15 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (207) 460.09/164.15 YES 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (208) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 460.09/164.15 U22^1(mark(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(active(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(X1, active(X2)) -> U22^1(X1, X2) 460.09/164.15 460.09/164.15 The TRS R consists of the following rules: 460.09/164.15 460.09/164.15 active(zeros) -> mark(cons(0, zeros)) 460.09/164.15 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.15 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.15 active(U13(tt)) -> mark(tt) 460.09/164.15 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.15 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.15 active(U23(tt)) -> mark(tt) 460.09/164.15 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.15 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.15 active(U33(tt)) -> mark(tt) 460.09/164.15 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.15 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.15 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.15 active(U46(tt)) -> mark(tt) 460.09/164.15 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.15 active(U52(tt)) -> mark(tt) 460.09/164.15 active(U61(tt)) -> mark(tt) 460.09/164.15 active(U71(tt)) -> mark(tt) 460.09/164.15 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.15 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.15 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.15 active(U86(tt)) -> mark(tt) 460.09/164.15 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.15 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.15 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.15 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.15 active(isNat(0)) -> mark(tt) 460.09/164.15 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.15 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.15 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.15 active(isNatIList(zeros)) -> mark(tt) 460.09/164.15 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.15 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.15 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.15 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.15 active(isNatKind(0)) -> mark(tt) 460.09/164.15 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.15 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.15 active(isNatList(nil)) -> mark(tt) 460.09/164.15 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.15 active(length(nil)) -> mark(0) 460.09/164.15 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.15 mark(zeros) -> active(zeros) 460.09/164.15 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.15 mark(0) -> active(0) 460.09/164.15 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.15 mark(tt) -> active(tt) 460.09/164.15 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.15 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.15 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.15 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.15 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.15 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.15 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.15 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.15 mark(isNat(X)) -> active(isNat(X)) 460.09/164.15 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.15 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.15 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.15 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.15 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.15 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.15 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.15 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.15 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.15 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.15 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.15 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.15 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.15 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.15 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.15 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.15 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.15 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.15 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.15 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.15 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.15 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.15 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.15 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.15 mark(s(X)) -> active(s(mark(X))) 460.09/164.15 mark(length(X)) -> active(length(mark(X))) 460.09/164.15 mark(nil) -> active(nil) 460.09/164.15 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.15 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.15 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.15 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.15 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.15 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.15 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.15 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.15 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.15 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.15 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.15 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.15 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.15 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.15 U13(mark(X)) -> U13(X) 460.09/164.15 U13(active(X)) -> U13(X) 460.09/164.15 isNatList(mark(X)) -> isNatList(X) 460.09/164.15 isNatList(active(X)) -> isNatList(X) 460.09/164.15 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.15 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.15 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.15 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.15 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.15 isNatKind(active(X)) -> isNatKind(X) 460.09/164.15 U23(mark(X)) -> U23(X) 460.09/164.15 U23(active(X)) -> U23(X) 460.09/164.15 isNat(mark(X)) -> isNat(X) 460.09/164.15 isNat(active(X)) -> isNat(X) 460.09/164.15 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.15 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.15 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.15 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.15 U33(mark(X)) -> U33(X) 460.09/164.15 U33(active(X)) -> U33(X) 460.09/164.15 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.15 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.15 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.15 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.15 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.15 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.15 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.15 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.15 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.15 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.15 U46(mark(X)) -> U46(X) 460.09/164.15 U46(active(X)) -> U46(X) 460.09/164.15 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.15 isNatIList(active(X)) -> isNatIList(X) 460.09/164.15 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.15 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.15 U52(mark(X)) -> U52(X) 460.09/164.15 U52(active(X)) -> U52(X) 460.09/164.15 U61(mark(X)) -> U61(X) 460.09/164.15 U61(active(X)) -> U61(X) 460.09/164.15 U71(mark(X)) -> U71(X) 460.09/164.15 U71(active(X)) -> U71(X) 460.09/164.15 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.15 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.15 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.15 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.15 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.15 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.15 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.15 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.15 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.15 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.15 U86(mark(X)) -> U86(X) 460.09/164.15 U86(active(X)) -> U86(X) 460.09/164.15 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.15 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.15 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.15 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.15 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.15 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.15 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.15 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.15 s(mark(X)) -> s(X) 460.09/164.15 s(active(X)) -> s(X) 460.09/164.15 length(mark(X)) -> length(X) 460.09/164.15 length(active(X)) -> length(X) 460.09/164.15 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (209) UsableRulesProof (EQUIVALENT) 460.09/164.15 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. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (210) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 460.09/164.15 U22^1(mark(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(active(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(X1, active(X2)) -> U22^1(X1, X2) 460.09/164.15 460.09/164.15 R is empty. 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (211) QReductionProof (EQUIVALENT) 460.09/164.15 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.15 460.09/164.15 cons(mark(x0), x1) 460.09/164.15 cons(x0, mark(x1)) 460.09/164.15 cons(active(x0), x1) 460.09/164.15 cons(x0, active(x1)) 460.09/164.15 U11(mark(x0), x1) 460.09/164.15 U11(x0, mark(x1)) 460.09/164.15 U11(active(x0), x1) 460.09/164.15 U11(x0, active(x1)) 460.09/164.15 U12(mark(x0), x1) 460.09/164.15 U12(x0, mark(x1)) 460.09/164.15 U12(active(x0), x1) 460.09/164.15 U12(x0, active(x1)) 460.09/164.15 isNatIListKind(mark(x0)) 460.09/164.15 isNatIListKind(active(x0)) 460.09/164.15 U13(mark(x0)) 460.09/164.15 U13(active(x0)) 460.09/164.15 isNatList(mark(x0)) 460.09/164.15 isNatList(active(x0)) 460.09/164.15 U21(mark(x0), x1) 460.09/164.15 U21(x0, mark(x1)) 460.09/164.15 U21(active(x0), x1) 460.09/164.15 U21(x0, active(x1)) 460.09/164.15 U22(mark(x0), x1) 460.09/164.15 U22(x0, mark(x1)) 460.09/164.15 U22(active(x0), x1) 460.09/164.15 U22(x0, active(x1)) 460.09/164.15 isNatKind(mark(x0)) 460.09/164.15 isNatKind(active(x0)) 460.09/164.15 U23(mark(x0)) 460.09/164.15 U23(active(x0)) 460.09/164.15 isNat(mark(x0)) 460.09/164.15 isNat(active(x0)) 460.09/164.15 U31(mark(x0), x1) 460.09/164.15 U31(x0, mark(x1)) 460.09/164.15 U31(active(x0), x1) 460.09/164.15 U31(x0, active(x1)) 460.09/164.15 U32(mark(x0), x1) 460.09/164.15 U32(x0, mark(x1)) 460.09/164.15 U32(active(x0), x1) 460.09/164.15 U32(x0, active(x1)) 460.09/164.15 U33(mark(x0)) 460.09/164.15 U33(active(x0)) 460.09/164.15 U41(mark(x0), x1, x2) 460.09/164.15 U41(x0, mark(x1), x2) 460.09/164.15 U41(x0, x1, mark(x2)) 460.09/164.15 U41(active(x0), x1, x2) 460.09/164.15 U41(x0, active(x1), x2) 460.09/164.15 U41(x0, x1, active(x2)) 460.09/164.15 U42(mark(x0), x1, x2) 460.09/164.15 U42(x0, mark(x1), x2) 460.09/164.15 U42(x0, x1, mark(x2)) 460.09/164.15 U42(active(x0), x1, x2) 460.09/164.15 U42(x0, active(x1), x2) 460.09/164.15 U42(x0, x1, active(x2)) 460.09/164.15 U43(mark(x0), x1, x2) 460.09/164.15 U43(x0, mark(x1), x2) 460.09/164.15 U43(x0, x1, mark(x2)) 460.09/164.15 U43(active(x0), x1, x2) 460.09/164.15 U43(x0, active(x1), x2) 460.09/164.15 U43(x0, x1, active(x2)) 460.09/164.15 U44(mark(x0), x1, x2) 460.09/164.15 U44(x0, mark(x1), x2) 460.09/164.15 U44(x0, x1, mark(x2)) 460.09/164.15 U44(active(x0), x1, x2) 460.09/164.15 U44(x0, active(x1), x2) 460.09/164.15 U44(x0, x1, active(x2)) 460.09/164.15 U45(mark(x0), x1) 460.09/164.15 U45(x0, mark(x1)) 460.09/164.15 U45(active(x0), x1) 460.09/164.15 U45(x0, active(x1)) 460.09/164.15 U46(mark(x0)) 460.09/164.15 U46(active(x0)) 460.09/164.15 isNatIList(mark(x0)) 460.09/164.15 isNatIList(active(x0)) 460.09/164.15 U51(mark(x0), x1) 460.09/164.15 U51(x0, mark(x1)) 460.09/164.15 U51(active(x0), x1) 460.09/164.15 U51(x0, active(x1)) 460.09/164.15 U52(mark(x0)) 460.09/164.15 U52(active(x0)) 460.09/164.15 U61(mark(x0)) 460.09/164.15 U61(active(x0)) 460.09/164.15 U71(mark(x0)) 460.09/164.15 U71(active(x0)) 460.09/164.15 U81(mark(x0), x1, x2) 460.09/164.15 U81(x0, mark(x1), x2) 460.09/164.15 U81(x0, x1, mark(x2)) 460.09/164.15 U81(active(x0), x1, x2) 460.09/164.15 U81(x0, active(x1), x2) 460.09/164.15 U81(x0, x1, active(x2)) 460.09/164.15 U82(mark(x0), x1, x2) 460.09/164.15 U82(x0, mark(x1), x2) 460.09/164.15 U82(x0, x1, mark(x2)) 460.09/164.15 U82(active(x0), x1, x2) 460.09/164.15 U82(x0, active(x1), x2) 460.09/164.15 U82(x0, x1, active(x2)) 460.09/164.15 U83(mark(x0), x1, x2) 460.09/164.15 U83(x0, mark(x1), x2) 460.09/164.15 U83(x0, x1, mark(x2)) 460.09/164.15 U83(active(x0), x1, x2) 460.09/164.15 U83(x0, active(x1), x2) 460.09/164.15 U83(x0, x1, active(x2)) 460.09/164.15 U84(mark(x0), x1, x2) 460.09/164.15 U84(x0, mark(x1), x2) 460.09/164.15 U84(x0, x1, mark(x2)) 460.09/164.15 U84(active(x0), x1, x2) 460.09/164.15 U84(x0, active(x1), x2) 460.09/164.15 U84(x0, x1, active(x2)) 460.09/164.15 U85(mark(x0), x1) 460.09/164.15 U85(x0, mark(x1)) 460.09/164.15 U85(active(x0), x1) 460.09/164.15 U85(x0, active(x1)) 460.09/164.15 U86(mark(x0)) 460.09/164.15 U86(active(x0)) 460.09/164.15 U91(mark(x0), x1, x2) 460.09/164.15 U91(x0, mark(x1), x2) 460.09/164.15 U91(x0, x1, mark(x2)) 460.09/164.15 U91(active(x0), x1, x2) 460.09/164.15 U91(x0, active(x1), x2) 460.09/164.15 U91(x0, x1, active(x2)) 460.09/164.15 U92(mark(x0), x1, x2) 460.09/164.15 U92(x0, mark(x1), x2) 460.09/164.15 U92(x0, x1, mark(x2)) 460.09/164.15 U92(active(x0), x1, x2) 460.09/164.15 U92(x0, active(x1), x2) 460.09/164.15 U92(x0, x1, active(x2)) 460.09/164.15 U93(mark(x0), x1, x2) 460.09/164.15 U93(x0, mark(x1), x2) 460.09/164.15 U93(x0, x1, mark(x2)) 460.09/164.15 U93(active(x0), x1, x2) 460.09/164.15 U93(x0, active(x1), x2) 460.09/164.15 U93(x0, x1, active(x2)) 460.09/164.15 U94(mark(x0), x1) 460.09/164.15 U94(x0, mark(x1)) 460.09/164.15 U94(active(x0), x1) 460.09/164.15 U94(x0, active(x1)) 460.09/164.15 s(mark(x0)) 460.09/164.15 s(active(x0)) 460.09/164.15 length(mark(x0)) 460.09/164.15 length(active(x0)) 460.09/164.15 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (212) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 460.09/164.15 U22^1(mark(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(active(X1), X2) -> U22^1(X1, X2) 460.09/164.15 U22^1(X1, active(X2)) -> U22^1(X1, X2) 460.09/164.15 460.09/164.15 R is empty. 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.15 active(length(cons(x0, x1))) 460.09/164.15 mark(zeros) 460.09/164.15 mark(cons(x0, x1)) 460.09/164.15 mark(0) 460.09/164.15 mark(U11(x0, x1)) 460.09/164.15 mark(tt) 460.09/164.15 mark(U12(x0, x1)) 460.09/164.15 mark(isNatIListKind(x0)) 460.09/164.15 mark(U13(x0)) 460.09/164.15 mark(isNatList(x0)) 460.09/164.15 mark(U21(x0, x1)) 460.09/164.15 mark(U22(x0, x1)) 460.09/164.15 mark(isNatKind(x0)) 460.09/164.15 mark(U23(x0)) 460.09/164.15 mark(isNat(x0)) 460.09/164.15 mark(U31(x0, x1)) 460.09/164.15 mark(U32(x0, x1)) 460.09/164.15 mark(U33(x0)) 460.09/164.15 mark(U41(x0, x1, x2)) 460.09/164.15 mark(U42(x0, x1, x2)) 460.09/164.15 mark(U43(x0, x1, x2)) 460.09/164.15 mark(U44(x0, x1, x2)) 460.09/164.15 mark(U45(x0, x1)) 460.09/164.15 mark(U46(x0)) 460.09/164.15 mark(isNatIList(x0)) 460.09/164.15 mark(U51(x0, x1)) 460.09/164.15 mark(U52(x0)) 460.09/164.15 mark(U61(x0)) 460.09/164.15 mark(U71(x0)) 460.09/164.15 mark(U81(x0, x1, x2)) 460.09/164.15 mark(U82(x0, x1, x2)) 460.09/164.15 mark(U83(x0, x1, x2)) 460.09/164.15 mark(U84(x0, x1, x2)) 460.09/164.15 mark(U85(x0, x1)) 460.09/164.15 mark(U86(x0)) 460.09/164.15 mark(U91(x0, x1, x2)) 460.09/164.15 mark(U92(x0, x1, x2)) 460.09/164.15 mark(U93(x0, x1, x2)) 460.09/164.15 mark(U94(x0, x1)) 460.09/164.15 mark(s(x0)) 460.09/164.15 mark(length(x0)) 460.09/164.15 mark(nil) 460.09/164.15 460.09/164.15 We have to consider all minimal (P,Q,R)-chains. 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (213) QDPSizeChangeProof (EQUIVALENT) 460.09/164.15 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. 460.09/164.15 460.09/164.15 From the DPs we obtained the following set of size-change graphs: 460.09/164.15 *U22^1(X1, mark(X2)) -> U22^1(X1, X2) 460.09/164.15 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.15 460.09/164.15 460.09/164.15 *U22^1(mark(X1), X2) -> U22^1(X1, X2) 460.09/164.15 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.15 460.09/164.15 460.09/164.15 *U22^1(active(X1), X2) -> U22^1(X1, X2) 460.09/164.15 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.15 460.09/164.15 460.09/164.15 *U22^1(X1, active(X2)) -> U22^1(X1, X2) 460.09/164.15 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.15 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (214) 460.09/164.15 YES 460.09/164.15 460.09/164.15 ---------------------------------------- 460.09/164.15 460.09/164.15 (215) 460.09/164.15 Obligation: 460.09/164.15 Q DP problem: 460.09/164.15 The TRS P consists of the following rules: 460.09/164.15 460.09/164.15 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 460.09/164.15 U21^1(mark(X1), X2) -> U21^1(X1, X2) 460.09/164.15 U21^1(active(X1), X2) -> U21^1(X1, X2) 460.09/164.15 U21^1(X1, active(X2)) -> U21^1(X1, X2) 460.09/164.15 460.09/164.15 The TRS R consists of the following rules: 460.09/164.15 460.09/164.15 active(zeros) -> mark(cons(0, zeros)) 460.09/164.15 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.15 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.15 active(U13(tt)) -> mark(tt) 460.09/164.15 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.15 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.15 active(U23(tt)) -> mark(tt) 460.09/164.15 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.15 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.15 active(U33(tt)) -> mark(tt) 460.09/164.15 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.15 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.15 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.15 active(U46(tt)) -> mark(tt) 460.09/164.15 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.15 active(U52(tt)) -> mark(tt) 460.09/164.15 active(U61(tt)) -> mark(tt) 460.09/164.15 active(U71(tt)) -> mark(tt) 460.09/164.15 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.15 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.15 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.15 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.15 active(U86(tt)) -> mark(tt) 460.09/164.15 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.15 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.15 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.15 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.15 active(isNat(0)) -> mark(tt) 460.09/164.15 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.15 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.15 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.15 active(isNatIList(zeros)) -> mark(tt) 460.09/164.15 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.15 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.15 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.15 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.15 active(isNatKind(0)) -> mark(tt) 460.09/164.15 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.15 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.15 active(isNatList(nil)) -> mark(tt) 460.09/164.15 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.15 active(length(nil)) -> mark(0) 460.09/164.15 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.15 mark(zeros) -> active(zeros) 460.09/164.15 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.15 mark(0) -> active(0) 460.09/164.15 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.15 mark(tt) -> active(tt) 460.09/164.15 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.15 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.15 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.15 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.15 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.15 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.15 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.15 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.15 mark(isNat(X)) -> active(isNat(X)) 460.09/164.15 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.15 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.15 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.15 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.15 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.15 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.15 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.15 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.15 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.15 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.15 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.15 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.15 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.15 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.15 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.15 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.15 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.15 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.15 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.15 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.15 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.15 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.15 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.15 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.15 mark(s(X)) -> active(s(mark(X))) 460.09/164.15 mark(length(X)) -> active(length(mark(X))) 460.09/164.15 mark(nil) -> active(nil) 460.09/164.15 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.15 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.15 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.15 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.15 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.15 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.15 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.15 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.15 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.15 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.15 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.15 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.15 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.15 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.15 U13(mark(X)) -> U13(X) 460.09/164.15 U13(active(X)) -> U13(X) 460.09/164.15 isNatList(mark(X)) -> isNatList(X) 460.09/164.15 isNatList(active(X)) -> isNatList(X) 460.09/164.15 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.15 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.15 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.15 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.15 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.15 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.15 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.15 isNatKind(active(X)) -> isNatKind(X) 460.09/164.15 U23(mark(X)) -> U23(X) 460.09/164.15 U23(active(X)) -> U23(X) 460.09/164.15 isNat(mark(X)) -> isNat(X) 460.09/164.15 isNat(active(X)) -> isNat(X) 460.09/164.15 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.15 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.15 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.15 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.15 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.15 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.15 U33(mark(X)) -> U33(X) 460.09/164.15 U33(active(X)) -> U33(X) 460.09/164.15 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.15 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.15 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.15 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.15 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.15 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.15 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.15 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.15 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.15 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.15 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.15 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.15 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.15 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.15 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.15 U46(mark(X)) -> U46(X) 460.09/164.15 U46(active(X)) -> U46(X) 460.09/164.15 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.15 isNatIList(active(X)) -> isNatIList(X) 460.09/164.15 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.15 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.15 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.15 U52(mark(X)) -> U52(X) 460.09/164.15 U52(active(X)) -> U52(X) 460.09/164.15 U61(mark(X)) -> U61(X) 460.09/164.15 U61(active(X)) -> U61(X) 460.09/164.15 U71(mark(X)) -> U71(X) 460.09/164.15 U71(active(X)) -> U71(X) 460.09/164.15 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.15 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.15 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.15 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.15 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.15 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.15 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.15 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.15 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.15 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.15 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.15 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.15 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.15 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.15 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.15 U86(mark(X)) -> U86(X) 460.09/164.15 U86(active(X)) -> U86(X) 460.09/164.15 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.15 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.15 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.15 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.15 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.15 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.15 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.15 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.15 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.15 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.15 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.15 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.15 s(mark(X)) -> s(X) 460.09/164.15 s(active(X)) -> s(X) 460.09/164.15 length(mark(X)) -> length(X) 460.09/164.15 length(active(X)) -> length(X) 460.09/164.15 460.09/164.15 The set Q consists of the following terms: 460.09/164.15 460.09/164.15 active(zeros) 460.09/164.15 active(U11(tt, x0)) 460.09/164.15 active(U12(tt, x0)) 460.09/164.15 active(U13(tt)) 460.09/164.15 active(U21(tt, x0)) 460.09/164.15 active(U22(tt, x0)) 460.09/164.15 active(U23(tt)) 460.09/164.15 active(U31(tt, x0)) 460.09/164.15 active(U32(tt, x0)) 460.09/164.15 active(U33(tt)) 460.09/164.15 active(U41(tt, x0, x1)) 460.09/164.15 active(U42(tt, x0, x1)) 460.09/164.15 active(U43(tt, x0, x1)) 460.09/164.15 active(U44(tt, x0, x1)) 460.09/164.15 active(U45(tt, x0)) 460.09/164.15 active(U46(tt)) 460.09/164.15 active(U51(tt, x0)) 460.09/164.15 active(U52(tt)) 460.09/164.15 active(U61(tt)) 460.09/164.15 active(U71(tt)) 460.09/164.15 active(U81(tt, x0, x1)) 460.09/164.15 active(U82(tt, x0, x1)) 460.09/164.15 active(U83(tt, x0, x1)) 460.09/164.15 active(U84(tt, x0, x1)) 460.09/164.15 active(U85(tt, x0)) 460.09/164.15 active(U86(tt)) 460.09/164.15 active(U91(tt, x0, x1)) 460.09/164.15 active(U92(tt, x0, x1)) 460.09/164.15 active(U93(tt, x0, x1)) 460.09/164.15 active(U94(tt, x0)) 460.09/164.15 active(isNat(0)) 460.09/164.15 active(isNat(length(x0))) 460.09/164.15 active(isNat(s(x0))) 460.09/164.15 active(isNatIList(x0)) 460.09/164.15 active(isNatIListKind(nil)) 460.09/164.15 active(isNatIListKind(zeros)) 460.09/164.15 active(isNatIListKind(cons(x0, x1))) 460.09/164.15 active(isNatKind(0)) 460.09/164.15 active(isNatKind(length(x0))) 460.09/164.15 active(isNatKind(s(x0))) 460.09/164.15 active(isNatList(nil)) 460.09/164.15 active(isNatList(cons(x0, x1))) 460.09/164.15 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (216) UsableRulesProof (EQUIVALENT) 460.09/164.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (217) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 460.09/164.16 U21^1(mark(X1), X2) -> U21^1(X1, X2) 460.09/164.16 U21^1(active(X1), X2) -> U21^1(X1, X2) 460.09/164.16 U21^1(X1, active(X2)) -> U21^1(X1, X2) 460.09/164.16 460.09/164.16 R is empty. 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (218) QReductionProof (EQUIVALENT) 460.09/164.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.16 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (219) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 460.09/164.16 U21^1(mark(X1), X2) -> U21^1(X1, X2) 460.09/164.16 U21^1(active(X1), X2) -> U21^1(X1, X2) 460.09/164.16 U21^1(X1, active(X2)) -> U21^1(X1, X2) 460.09/164.16 460.09/164.16 R is empty. 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (220) QDPSizeChangeProof (EQUIVALENT) 460.09/164.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.09/164.16 460.09/164.16 From the DPs we obtained the following set of size-change graphs: 460.09/164.16 *U21^1(X1, mark(X2)) -> U21^1(X1, X2) 460.09/164.16 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.16 460.09/164.16 460.09/164.16 *U21^1(mark(X1), X2) -> U21^1(X1, X2) 460.09/164.16 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.16 460.09/164.16 460.09/164.16 *U21^1(active(X1), X2) -> U21^1(X1, X2) 460.09/164.16 The graph contains the following edges 1 > 1, 2 >= 2 460.09/164.16 460.09/164.16 460.09/164.16 *U21^1(X1, active(X2)) -> U21^1(X1, X2) 460.09/164.16 The graph contains the following edges 1 >= 1, 2 > 2 460.09/164.16 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (221) 460.09/164.16 YES 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (222) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 ISNATLIST(active(X)) -> ISNATLIST(X) 460.09/164.16 ISNATLIST(mark(X)) -> ISNATLIST(X) 460.09/164.16 460.09/164.16 The TRS R consists of the following rules: 460.09/164.16 460.09/164.16 active(zeros) -> mark(cons(0, zeros)) 460.09/164.16 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.16 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.16 active(U13(tt)) -> mark(tt) 460.09/164.16 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.16 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.16 active(U23(tt)) -> mark(tt) 460.09/164.16 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.16 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.16 active(U33(tt)) -> mark(tt) 460.09/164.16 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.16 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.16 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.16 active(U46(tt)) -> mark(tt) 460.09/164.16 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.16 active(U52(tt)) -> mark(tt) 460.09/164.16 active(U61(tt)) -> mark(tt) 460.09/164.16 active(U71(tt)) -> mark(tt) 460.09/164.16 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.16 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.16 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.16 active(U86(tt)) -> mark(tt) 460.09/164.16 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.16 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.16 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.16 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.16 active(isNat(0)) -> mark(tt) 460.09/164.16 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.16 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.16 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.16 active(isNatIList(zeros)) -> mark(tt) 460.09/164.16 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.16 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.16 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.16 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.16 active(isNatKind(0)) -> mark(tt) 460.09/164.16 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.16 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.16 active(isNatList(nil)) -> mark(tt) 460.09/164.16 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.16 active(length(nil)) -> mark(0) 460.09/164.16 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.16 mark(zeros) -> active(zeros) 460.09/164.16 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.16 mark(0) -> active(0) 460.09/164.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.16 mark(tt) -> active(tt) 460.09/164.16 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.16 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.16 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.16 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.16 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.16 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.16 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.16 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.16 mark(isNat(X)) -> active(isNat(X)) 460.09/164.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.16 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.16 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.16 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.16 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.16 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.16 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.16 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.16 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.16 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.16 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.16 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.16 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.16 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.16 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.16 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.16 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.16 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.16 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.16 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.16 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.16 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.16 mark(s(X)) -> active(s(mark(X))) 460.09/164.16 mark(length(X)) -> active(length(mark(X))) 460.09/164.16 mark(nil) -> active(nil) 460.09/164.16 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.16 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.16 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.16 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.16 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.16 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.16 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.16 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.16 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.16 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.16 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.16 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.16 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.16 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.16 U13(mark(X)) -> U13(X) 460.09/164.16 U13(active(X)) -> U13(X) 460.09/164.16 isNatList(mark(X)) -> isNatList(X) 460.09/164.16 isNatList(active(X)) -> isNatList(X) 460.09/164.16 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.16 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.16 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.16 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.16 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.16 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.16 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.16 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.16 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.16 isNatKind(active(X)) -> isNatKind(X) 460.09/164.16 U23(mark(X)) -> U23(X) 460.09/164.16 U23(active(X)) -> U23(X) 460.09/164.16 isNat(mark(X)) -> isNat(X) 460.09/164.16 isNat(active(X)) -> isNat(X) 460.09/164.16 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.16 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.16 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.16 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.16 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.16 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.16 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.16 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.16 U33(mark(X)) -> U33(X) 460.09/164.16 U33(active(X)) -> U33(X) 460.09/164.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.16 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.16 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.16 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.16 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.16 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.16 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.16 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.16 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.16 U46(mark(X)) -> U46(X) 460.09/164.16 U46(active(X)) -> U46(X) 460.09/164.16 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.16 isNatIList(active(X)) -> isNatIList(X) 460.09/164.16 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.16 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.16 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.16 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.16 U52(mark(X)) -> U52(X) 460.09/164.16 U52(active(X)) -> U52(X) 460.09/164.16 U61(mark(X)) -> U61(X) 460.09/164.16 U61(active(X)) -> U61(X) 460.09/164.16 U71(mark(X)) -> U71(X) 460.09/164.16 U71(active(X)) -> U71(X) 460.09/164.16 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.16 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.16 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.16 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.16 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.16 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.16 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.16 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.16 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.16 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.16 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.16 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.16 U86(mark(X)) -> U86(X) 460.09/164.16 U86(active(X)) -> U86(X) 460.09/164.16 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.16 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.16 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.16 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.16 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.16 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.16 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.16 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.16 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.16 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.16 s(mark(X)) -> s(X) 460.09/164.16 s(active(X)) -> s(X) 460.09/164.16 length(mark(X)) -> length(X) 460.09/164.16 length(active(X)) -> length(X) 460.09/164.16 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (223) UsableRulesProof (EQUIVALENT) 460.09/164.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (224) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 ISNATLIST(active(X)) -> ISNATLIST(X) 460.09/164.16 ISNATLIST(mark(X)) -> ISNATLIST(X) 460.09/164.16 460.09/164.16 R is empty. 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (225) QReductionProof (EQUIVALENT) 460.09/164.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.16 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.16 U94(x0, active(x1)) 460.09/164.16 s(mark(x0)) 460.09/164.16 s(active(x0)) 460.09/164.16 length(mark(x0)) 460.09/164.16 length(active(x0)) 460.09/164.16 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (226) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 ISNATLIST(active(X)) -> ISNATLIST(X) 460.09/164.16 ISNATLIST(mark(X)) -> ISNATLIST(X) 460.09/164.16 460.09/164.16 R is empty. 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 460.09/164.16 We have to consider all minimal (P,Q,R)-chains. 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (227) QDPSizeChangeProof (EQUIVALENT) 460.09/164.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.09/164.16 460.09/164.16 From the DPs we obtained the following set of size-change graphs: 460.09/164.16 *ISNATLIST(active(X)) -> ISNATLIST(X) 460.09/164.16 The graph contains the following edges 1 > 1 460.09/164.16 460.09/164.16 460.09/164.16 *ISNATLIST(mark(X)) -> ISNATLIST(X) 460.09/164.16 The graph contains the following edges 1 > 1 460.09/164.16 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (228) 460.09/164.16 YES 460.09/164.16 460.09/164.16 ---------------------------------------- 460.09/164.16 460.09/164.16 (229) 460.09/164.16 Obligation: 460.09/164.16 Q DP problem: 460.09/164.16 The TRS P consists of the following rules: 460.09/164.16 460.09/164.16 U13^1(active(X)) -> U13^1(X) 460.09/164.16 U13^1(mark(X)) -> U13^1(X) 460.09/164.16 460.09/164.16 The TRS R consists of the following rules: 460.09/164.16 460.09/164.16 active(zeros) -> mark(cons(0, zeros)) 460.09/164.16 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.16 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.16 active(U13(tt)) -> mark(tt) 460.09/164.16 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.16 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.16 active(U23(tt)) -> mark(tt) 460.09/164.16 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.16 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.16 active(U33(tt)) -> mark(tt) 460.09/164.16 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.16 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.16 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.16 active(U46(tt)) -> mark(tt) 460.09/164.16 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.16 active(U52(tt)) -> mark(tt) 460.09/164.16 active(U61(tt)) -> mark(tt) 460.09/164.16 active(U71(tt)) -> mark(tt) 460.09/164.16 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.16 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.16 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.16 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.16 active(U86(tt)) -> mark(tt) 460.09/164.16 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.16 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.16 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.16 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.16 active(isNat(0)) -> mark(tt) 460.09/164.16 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.16 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.16 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.16 active(isNatIList(zeros)) -> mark(tt) 460.09/164.16 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.16 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.16 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.16 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.16 active(isNatKind(0)) -> mark(tt) 460.09/164.16 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.16 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.16 active(isNatList(nil)) -> mark(tt) 460.09/164.16 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.16 active(length(nil)) -> mark(0) 460.09/164.16 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.16 mark(zeros) -> active(zeros) 460.09/164.16 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.16 mark(0) -> active(0) 460.09/164.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.16 mark(tt) -> active(tt) 460.09/164.16 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.16 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.16 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.16 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.16 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.16 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.16 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.16 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.16 mark(isNat(X)) -> active(isNat(X)) 460.09/164.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.16 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.16 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.16 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.16 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.16 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.16 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.16 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.16 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.16 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.16 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.16 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.16 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.16 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.16 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.16 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.16 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.16 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.16 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.16 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.16 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.16 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.16 mark(s(X)) -> active(s(mark(X))) 460.09/164.16 mark(length(X)) -> active(length(mark(X))) 460.09/164.16 mark(nil) -> active(nil) 460.09/164.16 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.16 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.16 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.16 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.16 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.16 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.16 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.16 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.16 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.16 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.16 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.16 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.16 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.16 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.16 U13(mark(X)) -> U13(X) 460.09/164.16 U13(active(X)) -> U13(X) 460.09/164.16 isNatList(mark(X)) -> isNatList(X) 460.09/164.16 isNatList(active(X)) -> isNatList(X) 460.09/164.16 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.16 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.16 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.16 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.16 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.16 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.16 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.16 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.16 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.16 isNatKind(active(X)) -> isNatKind(X) 460.09/164.16 U23(mark(X)) -> U23(X) 460.09/164.16 U23(active(X)) -> U23(X) 460.09/164.16 isNat(mark(X)) -> isNat(X) 460.09/164.16 isNat(active(X)) -> isNat(X) 460.09/164.16 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.16 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.16 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.16 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.16 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.16 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.16 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.16 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.16 U33(mark(X)) -> U33(X) 460.09/164.16 U33(active(X)) -> U33(X) 460.09/164.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.16 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.16 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.16 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.16 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.16 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.16 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.16 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.16 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.16 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.16 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.16 U46(mark(X)) -> U46(X) 460.09/164.16 U46(active(X)) -> U46(X) 460.09/164.16 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.16 isNatIList(active(X)) -> isNatIList(X) 460.09/164.16 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.16 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.16 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.16 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.16 U52(mark(X)) -> U52(X) 460.09/164.16 U52(active(X)) -> U52(X) 460.09/164.16 U61(mark(X)) -> U61(X) 460.09/164.16 U61(active(X)) -> U61(X) 460.09/164.16 U71(mark(X)) -> U71(X) 460.09/164.16 U71(active(X)) -> U71(X) 460.09/164.16 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.16 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.16 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.16 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.16 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.16 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.16 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.16 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.16 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.16 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.16 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.16 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.16 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.16 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.16 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.16 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.16 U86(mark(X)) -> U86(X) 460.09/164.16 U86(active(X)) -> U86(X) 460.09/164.16 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.16 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.16 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.16 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.16 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.16 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.16 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.16 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.16 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.16 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.16 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.16 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.16 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.16 s(mark(X)) -> s(X) 460.09/164.16 s(active(X)) -> s(X) 460.09/164.16 length(mark(X)) -> length(X) 460.09/164.16 length(active(X)) -> length(X) 460.09/164.16 460.09/164.16 The set Q consists of the following terms: 460.09/164.16 460.09/164.16 active(zeros) 460.09/164.16 active(U11(tt, x0)) 460.09/164.16 active(U12(tt, x0)) 460.09/164.16 active(U13(tt)) 460.09/164.16 active(U21(tt, x0)) 460.09/164.16 active(U22(tt, x0)) 460.09/164.16 active(U23(tt)) 460.09/164.16 active(U31(tt, x0)) 460.09/164.16 active(U32(tt, x0)) 460.09/164.16 active(U33(tt)) 460.09/164.16 active(U41(tt, x0, x1)) 460.09/164.16 active(U42(tt, x0, x1)) 460.09/164.16 active(U43(tt, x0, x1)) 460.09/164.16 active(U44(tt, x0, x1)) 460.09/164.16 active(U45(tt, x0)) 460.09/164.16 active(U46(tt)) 460.09/164.16 active(U51(tt, x0)) 460.09/164.16 active(U52(tt)) 460.09/164.16 active(U61(tt)) 460.09/164.16 active(U71(tt)) 460.09/164.16 active(U81(tt, x0, x1)) 460.09/164.16 active(U82(tt, x0, x1)) 460.09/164.16 active(U83(tt, x0, x1)) 460.09/164.16 active(U84(tt, x0, x1)) 460.09/164.16 active(U85(tt, x0)) 460.09/164.16 active(U86(tt)) 460.09/164.16 active(U91(tt, x0, x1)) 460.09/164.16 active(U92(tt, x0, x1)) 460.09/164.16 active(U93(tt, x0, x1)) 460.09/164.16 active(U94(tt, x0)) 460.09/164.16 active(isNat(0)) 460.09/164.16 active(isNat(length(x0))) 460.09/164.16 active(isNat(s(x0))) 460.09/164.16 active(isNatIList(x0)) 460.09/164.16 active(isNatIListKind(nil)) 460.09/164.16 active(isNatIListKind(zeros)) 460.09/164.16 active(isNatIListKind(cons(x0, x1))) 460.09/164.16 active(isNatKind(0)) 460.09/164.16 active(isNatKind(length(x0))) 460.09/164.16 active(isNatKind(s(x0))) 460.09/164.16 active(isNatList(nil)) 460.09/164.16 active(isNatList(cons(x0, x1))) 460.09/164.16 active(length(nil)) 460.09/164.16 active(length(cons(x0, x1))) 460.09/164.16 mark(zeros) 460.09/164.16 mark(cons(x0, x1)) 460.09/164.16 mark(0) 460.09/164.16 mark(U11(x0, x1)) 460.09/164.16 mark(tt) 460.09/164.16 mark(U12(x0, x1)) 460.09/164.16 mark(isNatIListKind(x0)) 460.09/164.16 mark(U13(x0)) 460.09/164.16 mark(isNatList(x0)) 460.09/164.16 mark(U21(x0, x1)) 460.09/164.16 mark(U22(x0, x1)) 460.09/164.16 mark(isNatKind(x0)) 460.09/164.16 mark(U23(x0)) 460.09/164.16 mark(isNat(x0)) 460.09/164.16 mark(U31(x0, x1)) 460.09/164.16 mark(U32(x0, x1)) 460.09/164.16 mark(U33(x0)) 460.09/164.16 mark(U41(x0, x1, x2)) 460.09/164.16 mark(U42(x0, x1, x2)) 460.09/164.16 mark(U43(x0, x1, x2)) 460.09/164.16 mark(U44(x0, x1, x2)) 460.09/164.16 mark(U45(x0, x1)) 460.09/164.16 mark(U46(x0)) 460.09/164.16 mark(isNatIList(x0)) 460.09/164.16 mark(U51(x0, x1)) 460.09/164.16 mark(U52(x0)) 460.09/164.16 mark(U61(x0)) 460.09/164.16 mark(U71(x0)) 460.09/164.16 mark(U81(x0, x1, x2)) 460.09/164.16 mark(U82(x0, x1, x2)) 460.09/164.16 mark(U83(x0, x1, x2)) 460.09/164.16 mark(U84(x0, x1, x2)) 460.09/164.16 mark(U85(x0, x1)) 460.09/164.16 mark(U86(x0)) 460.09/164.16 mark(U91(x0, x1, x2)) 460.09/164.16 mark(U92(x0, x1, x2)) 460.09/164.16 mark(U93(x0, x1, x2)) 460.09/164.16 mark(U94(x0, x1)) 460.09/164.16 mark(s(x0)) 460.09/164.16 mark(length(x0)) 460.09/164.16 mark(nil) 460.09/164.16 cons(mark(x0), x1) 460.09/164.16 cons(x0, mark(x1)) 460.09/164.16 cons(active(x0), x1) 460.09/164.16 cons(x0, active(x1)) 460.09/164.16 U11(mark(x0), x1) 460.09/164.16 U11(x0, mark(x1)) 460.09/164.16 U11(active(x0), x1) 460.09/164.16 U11(x0, active(x1)) 460.09/164.16 U12(mark(x0), x1) 460.09/164.16 U12(x0, mark(x1)) 460.09/164.16 U12(active(x0), x1) 460.09/164.16 U12(x0, active(x1)) 460.09/164.16 isNatIListKind(mark(x0)) 460.09/164.16 isNatIListKind(active(x0)) 460.09/164.16 U13(mark(x0)) 460.09/164.16 U13(active(x0)) 460.09/164.16 isNatList(mark(x0)) 460.09/164.16 isNatList(active(x0)) 460.09/164.16 U21(mark(x0), x1) 460.09/164.16 U21(x0, mark(x1)) 460.09/164.16 U21(active(x0), x1) 460.09/164.16 U21(x0, active(x1)) 460.09/164.16 U22(mark(x0), x1) 460.09/164.16 U22(x0, mark(x1)) 460.09/164.16 U22(active(x0), x1) 460.09/164.16 U22(x0, active(x1)) 460.09/164.16 isNatKind(mark(x0)) 460.09/164.16 isNatKind(active(x0)) 460.09/164.16 U23(mark(x0)) 460.09/164.16 U23(active(x0)) 460.09/164.16 isNat(mark(x0)) 460.09/164.16 isNat(active(x0)) 460.09/164.16 U31(mark(x0), x1) 460.09/164.16 U31(x0, mark(x1)) 460.09/164.16 U31(active(x0), x1) 460.09/164.16 U31(x0, active(x1)) 460.09/164.16 U32(mark(x0), x1) 460.09/164.16 U32(x0, mark(x1)) 460.09/164.16 U32(active(x0), x1) 460.09/164.16 U32(x0, active(x1)) 460.09/164.16 U33(mark(x0)) 460.09/164.16 U33(active(x0)) 460.09/164.16 U41(mark(x0), x1, x2) 460.09/164.16 U41(x0, mark(x1), x2) 460.09/164.16 U41(x0, x1, mark(x2)) 460.09/164.16 U41(active(x0), x1, x2) 460.09/164.16 U41(x0, active(x1), x2) 460.09/164.16 U41(x0, x1, active(x2)) 460.09/164.16 U42(mark(x0), x1, x2) 460.09/164.16 U42(x0, mark(x1), x2) 460.09/164.16 U42(x0, x1, mark(x2)) 460.09/164.16 U42(active(x0), x1, x2) 460.09/164.16 U42(x0, active(x1), x2) 460.09/164.16 U42(x0, x1, active(x2)) 460.09/164.16 U43(mark(x0), x1, x2) 460.09/164.16 U43(x0, mark(x1), x2) 460.09/164.16 U43(x0, x1, mark(x2)) 460.09/164.16 U43(active(x0), x1, x2) 460.09/164.16 U43(x0, active(x1), x2) 460.09/164.16 U43(x0, x1, active(x2)) 460.09/164.16 U44(mark(x0), x1, x2) 460.09/164.16 U44(x0, mark(x1), x2) 460.09/164.16 U44(x0, x1, mark(x2)) 460.09/164.16 U44(active(x0), x1, x2) 460.09/164.16 U44(x0, active(x1), x2) 460.09/164.16 U44(x0, x1, active(x2)) 460.09/164.16 U45(mark(x0), x1) 460.09/164.16 U45(x0, mark(x1)) 460.09/164.16 U45(active(x0), x1) 460.09/164.16 U45(x0, active(x1)) 460.09/164.16 U46(mark(x0)) 460.09/164.16 U46(active(x0)) 460.09/164.16 isNatIList(mark(x0)) 460.09/164.16 isNatIList(active(x0)) 460.09/164.16 U51(mark(x0), x1) 460.09/164.16 U51(x0, mark(x1)) 460.09/164.16 U51(active(x0), x1) 460.09/164.16 U51(x0, active(x1)) 460.09/164.16 U52(mark(x0)) 460.09/164.16 U52(active(x0)) 460.09/164.16 U61(mark(x0)) 460.09/164.16 U61(active(x0)) 460.09/164.16 U71(mark(x0)) 460.09/164.16 U71(active(x0)) 460.09/164.16 U81(mark(x0), x1, x2) 460.09/164.16 U81(x0, mark(x1), x2) 460.09/164.16 U81(x0, x1, mark(x2)) 460.09/164.16 U81(active(x0), x1, x2) 460.09/164.16 U81(x0, active(x1), x2) 460.09/164.16 U81(x0, x1, active(x2)) 460.09/164.16 U82(mark(x0), x1, x2) 460.09/164.16 U82(x0, mark(x1), x2) 460.09/164.16 U82(x0, x1, mark(x2)) 460.09/164.16 U82(active(x0), x1, x2) 460.09/164.16 U82(x0, active(x1), x2) 460.09/164.16 U82(x0, x1, active(x2)) 460.09/164.16 U83(mark(x0), x1, x2) 460.09/164.16 U83(x0, mark(x1), x2) 460.09/164.16 U83(x0, x1, mark(x2)) 460.09/164.16 U83(active(x0), x1, x2) 460.09/164.16 U83(x0, active(x1), x2) 460.09/164.16 U83(x0, x1, active(x2)) 460.09/164.16 U84(mark(x0), x1, x2) 460.09/164.16 U84(x0, mark(x1), x2) 460.09/164.16 U84(x0, x1, mark(x2)) 460.09/164.16 U84(active(x0), x1, x2) 460.09/164.16 U84(x0, active(x1), x2) 460.09/164.16 U84(x0, x1, active(x2)) 460.09/164.16 U85(mark(x0), x1) 460.09/164.16 U85(x0, mark(x1)) 460.09/164.16 U85(active(x0), x1) 460.09/164.16 U85(x0, active(x1)) 460.09/164.16 U86(mark(x0)) 460.09/164.16 U86(active(x0)) 460.09/164.16 U91(mark(x0), x1, x2) 460.09/164.16 U91(x0, mark(x1), x2) 460.09/164.16 U91(x0, x1, mark(x2)) 460.09/164.16 U91(active(x0), x1, x2) 460.09/164.16 U91(x0, active(x1), x2) 460.09/164.16 U91(x0, x1, active(x2)) 460.09/164.16 U92(mark(x0), x1, x2) 460.09/164.16 U92(x0, mark(x1), x2) 460.09/164.16 U92(x0, x1, mark(x2)) 460.09/164.16 U92(active(x0), x1, x2) 460.09/164.16 U92(x0, active(x1), x2) 460.09/164.16 U92(x0, x1, active(x2)) 460.09/164.16 U93(mark(x0), x1, x2) 460.09/164.16 U93(x0, mark(x1), x2) 460.09/164.16 U93(x0, x1, mark(x2)) 460.09/164.16 U93(active(x0), x1, x2) 460.09/164.16 U93(x0, active(x1), x2) 460.09/164.16 U93(x0, x1, active(x2)) 460.09/164.16 U94(mark(x0), x1) 460.09/164.16 U94(x0, mark(x1)) 460.09/164.16 U94(active(x0), x1) 460.09/164.17 U94(x0, active(x1)) 460.09/164.17 s(mark(x0)) 460.09/164.17 s(active(x0)) 460.09/164.17 length(mark(x0)) 460.09/164.17 length(active(x0)) 460.09/164.17 460.09/164.17 We have to consider all minimal (P,Q,R)-chains. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (230) UsableRulesProof (EQUIVALENT) 460.09/164.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (231) 460.09/164.17 Obligation: 460.09/164.17 Q DP problem: 460.09/164.17 The TRS P consists of the following rules: 460.09/164.17 460.09/164.17 U13^1(active(X)) -> U13^1(X) 460.09/164.17 U13^1(mark(X)) -> U13^1(X) 460.09/164.17 460.09/164.17 R is empty. 460.09/164.17 The set Q consists of the following terms: 460.09/164.17 460.09/164.17 active(zeros) 460.09/164.17 active(U11(tt, x0)) 460.09/164.17 active(U12(tt, x0)) 460.09/164.17 active(U13(tt)) 460.09/164.17 active(U21(tt, x0)) 460.09/164.17 active(U22(tt, x0)) 460.09/164.17 active(U23(tt)) 460.09/164.17 active(U31(tt, x0)) 460.09/164.17 active(U32(tt, x0)) 460.09/164.17 active(U33(tt)) 460.09/164.17 active(U41(tt, x0, x1)) 460.09/164.17 active(U42(tt, x0, x1)) 460.09/164.17 active(U43(tt, x0, x1)) 460.09/164.17 active(U44(tt, x0, x1)) 460.09/164.17 active(U45(tt, x0)) 460.09/164.17 active(U46(tt)) 460.09/164.17 active(U51(tt, x0)) 460.09/164.17 active(U52(tt)) 460.09/164.17 active(U61(tt)) 460.09/164.17 active(U71(tt)) 460.09/164.17 active(U81(tt, x0, x1)) 460.09/164.17 active(U82(tt, x0, x1)) 460.09/164.17 active(U83(tt, x0, x1)) 460.09/164.17 active(U84(tt, x0, x1)) 460.09/164.17 active(U85(tt, x0)) 460.09/164.17 active(U86(tt)) 460.09/164.17 active(U91(tt, x0, x1)) 460.09/164.17 active(U92(tt, x0, x1)) 460.09/164.17 active(U93(tt, x0, x1)) 460.09/164.17 active(U94(tt, x0)) 460.09/164.17 active(isNat(0)) 460.09/164.17 active(isNat(length(x0))) 460.09/164.17 active(isNat(s(x0))) 460.09/164.17 active(isNatIList(x0)) 460.09/164.17 active(isNatIListKind(nil)) 460.09/164.17 active(isNatIListKind(zeros)) 460.09/164.17 active(isNatIListKind(cons(x0, x1))) 460.09/164.17 active(isNatKind(0)) 460.09/164.17 active(isNatKind(length(x0))) 460.09/164.17 active(isNatKind(s(x0))) 460.09/164.17 active(isNatList(nil)) 460.09/164.17 active(isNatList(cons(x0, x1))) 460.09/164.17 active(length(nil)) 460.09/164.17 active(length(cons(x0, x1))) 460.09/164.17 mark(zeros) 460.09/164.17 mark(cons(x0, x1)) 460.09/164.17 mark(0) 460.09/164.17 mark(U11(x0, x1)) 460.09/164.17 mark(tt) 460.09/164.17 mark(U12(x0, x1)) 460.09/164.17 mark(isNatIListKind(x0)) 460.09/164.17 mark(U13(x0)) 460.09/164.17 mark(isNatList(x0)) 460.09/164.17 mark(U21(x0, x1)) 460.09/164.17 mark(U22(x0, x1)) 460.09/164.17 mark(isNatKind(x0)) 460.09/164.17 mark(U23(x0)) 460.09/164.17 mark(isNat(x0)) 460.09/164.17 mark(U31(x0, x1)) 460.09/164.17 mark(U32(x0, x1)) 460.09/164.17 mark(U33(x0)) 460.09/164.17 mark(U41(x0, x1, x2)) 460.09/164.17 mark(U42(x0, x1, x2)) 460.09/164.17 mark(U43(x0, x1, x2)) 460.09/164.17 mark(U44(x0, x1, x2)) 460.09/164.17 mark(U45(x0, x1)) 460.09/164.17 mark(U46(x0)) 460.09/164.17 mark(isNatIList(x0)) 460.09/164.17 mark(U51(x0, x1)) 460.09/164.17 mark(U52(x0)) 460.09/164.17 mark(U61(x0)) 460.09/164.17 mark(U71(x0)) 460.09/164.17 mark(U81(x0, x1, x2)) 460.09/164.17 mark(U82(x0, x1, x2)) 460.09/164.17 mark(U83(x0, x1, x2)) 460.09/164.17 mark(U84(x0, x1, x2)) 460.09/164.17 mark(U85(x0, x1)) 460.09/164.17 mark(U86(x0)) 460.09/164.17 mark(U91(x0, x1, x2)) 460.09/164.17 mark(U92(x0, x1, x2)) 460.09/164.17 mark(U93(x0, x1, x2)) 460.09/164.17 mark(U94(x0, x1)) 460.09/164.17 mark(s(x0)) 460.09/164.17 mark(length(x0)) 460.09/164.17 mark(nil) 460.09/164.17 cons(mark(x0), x1) 460.09/164.17 cons(x0, mark(x1)) 460.09/164.17 cons(active(x0), x1) 460.09/164.17 cons(x0, active(x1)) 460.09/164.17 U11(mark(x0), x1) 460.09/164.17 U11(x0, mark(x1)) 460.09/164.17 U11(active(x0), x1) 460.09/164.17 U11(x0, active(x1)) 460.09/164.17 U12(mark(x0), x1) 460.09/164.17 U12(x0, mark(x1)) 460.09/164.17 U12(active(x0), x1) 460.09/164.17 U12(x0, active(x1)) 460.09/164.17 isNatIListKind(mark(x0)) 460.09/164.17 isNatIListKind(active(x0)) 460.09/164.17 U13(mark(x0)) 460.09/164.17 U13(active(x0)) 460.09/164.17 isNatList(mark(x0)) 460.09/164.17 isNatList(active(x0)) 460.09/164.17 U21(mark(x0), x1) 460.09/164.17 U21(x0, mark(x1)) 460.09/164.17 U21(active(x0), x1) 460.09/164.17 U21(x0, active(x1)) 460.09/164.17 U22(mark(x0), x1) 460.09/164.17 U22(x0, mark(x1)) 460.09/164.17 U22(active(x0), x1) 460.09/164.17 U22(x0, active(x1)) 460.09/164.17 isNatKind(mark(x0)) 460.09/164.17 isNatKind(active(x0)) 460.09/164.17 U23(mark(x0)) 460.09/164.17 U23(active(x0)) 460.09/164.17 isNat(mark(x0)) 460.09/164.17 isNat(active(x0)) 460.09/164.17 U31(mark(x0), x1) 460.09/164.17 U31(x0, mark(x1)) 460.09/164.17 U31(active(x0), x1) 460.09/164.17 U31(x0, active(x1)) 460.09/164.17 U32(mark(x0), x1) 460.09/164.17 U32(x0, mark(x1)) 460.09/164.17 U32(active(x0), x1) 460.09/164.17 U32(x0, active(x1)) 460.09/164.17 U33(mark(x0)) 460.09/164.17 U33(active(x0)) 460.09/164.17 U41(mark(x0), x1, x2) 460.09/164.17 U41(x0, mark(x1), x2) 460.09/164.17 U41(x0, x1, mark(x2)) 460.09/164.17 U41(active(x0), x1, x2) 460.09/164.17 U41(x0, active(x1), x2) 460.09/164.17 U41(x0, x1, active(x2)) 460.09/164.17 U42(mark(x0), x1, x2) 460.09/164.17 U42(x0, mark(x1), x2) 460.09/164.17 U42(x0, x1, mark(x2)) 460.09/164.17 U42(active(x0), x1, x2) 460.09/164.17 U42(x0, active(x1), x2) 460.09/164.17 U42(x0, x1, active(x2)) 460.09/164.17 U43(mark(x0), x1, x2) 460.09/164.17 U43(x0, mark(x1), x2) 460.09/164.17 U43(x0, x1, mark(x2)) 460.09/164.17 U43(active(x0), x1, x2) 460.09/164.17 U43(x0, active(x1), x2) 460.09/164.17 U43(x0, x1, active(x2)) 460.09/164.17 U44(mark(x0), x1, x2) 460.09/164.17 U44(x0, mark(x1), x2) 460.09/164.17 U44(x0, x1, mark(x2)) 460.09/164.17 U44(active(x0), x1, x2) 460.09/164.17 U44(x0, active(x1), x2) 460.09/164.17 U44(x0, x1, active(x2)) 460.09/164.17 U45(mark(x0), x1) 460.09/164.17 U45(x0, mark(x1)) 460.09/164.17 U45(active(x0), x1) 460.09/164.17 U45(x0, active(x1)) 460.09/164.17 U46(mark(x0)) 460.09/164.17 U46(active(x0)) 460.09/164.17 isNatIList(mark(x0)) 460.09/164.17 isNatIList(active(x0)) 460.09/164.17 U51(mark(x0), x1) 460.09/164.17 U51(x0, mark(x1)) 460.09/164.17 U51(active(x0), x1) 460.09/164.17 U51(x0, active(x1)) 460.09/164.17 U52(mark(x0)) 460.09/164.17 U52(active(x0)) 460.09/164.17 U61(mark(x0)) 460.09/164.17 U61(active(x0)) 460.09/164.17 U71(mark(x0)) 460.09/164.17 U71(active(x0)) 460.09/164.17 U81(mark(x0), x1, x2) 460.09/164.17 U81(x0, mark(x1), x2) 460.09/164.17 U81(x0, x1, mark(x2)) 460.09/164.17 U81(active(x0), x1, x2) 460.09/164.17 U81(x0, active(x1), x2) 460.09/164.17 U81(x0, x1, active(x2)) 460.09/164.17 U82(mark(x0), x1, x2) 460.09/164.17 U82(x0, mark(x1), x2) 460.09/164.17 U82(x0, x1, mark(x2)) 460.09/164.17 U82(active(x0), x1, x2) 460.09/164.17 U82(x0, active(x1), x2) 460.09/164.17 U82(x0, x1, active(x2)) 460.09/164.17 U83(mark(x0), x1, x2) 460.09/164.17 U83(x0, mark(x1), x2) 460.09/164.17 U83(x0, x1, mark(x2)) 460.09/164.17 U83(active(x0), x1, x2) 460.09/164.17 U83(x0, active(x1), x2) 460.09/164.17 U83(x0, x1, active(x2)) 460.09/164.17 U84(mark(x0), x1, x2) 460.09/164.17 U84(x0, mark(x1), x2) 460.09/164.17 U84(x0, x1, mark(x2)) 460.09/164.17 U84(active(x0), x1, x2) 460.09/164.17 U84(x0, active(x1), x2) 460.09/164.17 U84(x0, x1, active(x2)) 460.09/164.17 U85(mark(x0), x1) 460.09/164.17 U85(x0, mark(x1)) 460.09/164.17 U85(active(x0), x1) 460.09/164.17 U85(x0, active(x1)) 460.09/164.17 U86(mark(x0)) 460.09/164.17 U86(active(x0)) 460.09/164.17 U91(mark(x0), x1, x2) 460.09/164.17 U91(x0, mark(x1), x2) 460.09/164.17 U91(x0, x1, mark(x2)) 460.09/164.17 U91(active(x0), x1, x2) 460.09/164.17 U91(x0, active(x1), x2) 460.09/164.17 U91(x0, x1, active(x2)) 460.09/164.17 U92(mark(x0), x1, x2) 460.09/164.17 U92(x0, mark(x1), x2) 460.09/164.17 U92(x0, x1, mark(x2)) 460.09/164.17 U92(active(x0), x1, x2) 460.09/164.17 U92(x0, active(x1), x2) 460.09/164.17 U92(x0, x1, active(x2)) 460.09/164.17 U93(mark(x0), x1, x2) 460.09/164.17 U93(x0, mark(x1), x2) 460.09/164.17 U93(x0, x1, mark(x2)) 460.09/164.17 U93(active(x0), x1, x2) 460.09/164.17 U93(x0, active(x1), x2) 460.09/164.17 U93(x0, x1, active(x2)) 460.09/164.17 U94(mark(x0), x1) 460.09/164.17 U94(x0, mark(x1)) 460.09/164.17 U94(active(x0), x1) 460.09/164.17 U94(x0, active(x1)) 460.09/164.17 s(mark(x0)) 460.09/164.17 s(active(x0)) 460.09/164.17 length(mark(x0)) 460.09/164.17 length(active(x0)) 460.09/164.17 460.09/164.17 We have to consider all minimal (P,Q,R)-chains. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (232) QReductionProof (EQUIVALENT) 460.09/164.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.17 460.09/164.17 cons(mark(x0), x1) 460.09/164.17 cons(x0, mark(x1)) 460.09/164.17 cons(active(x0), x1) 460.09/164.17 cons(x0, active(x1)) 460.09/164.17 U11(mark(x0), x1) 460.09/164.17 U11(x0, mark(x1)) 460.09/164.17 U11(active(x0), x1) 460.09/164.17 U11(x0, active(x1)) 460.09/164.17 U12(mark(x0), x1) 460.09/164.17 U12(x0, mark(x1)) 460.09/164.17 U12(active(x0), x1) 460.09/164.17 U12(x0, active(x1)) 460.09/164.17 isNatIListKind(mark(x0)) 460.09/164.17 isNatIListKind(active(x0)) 460.09/164.17 U13(mark(x0)) 460.09/164.17 U13(active(x0)) 460.09/164.17 isNatList(mark(x0)) 460.09/164.17 isNatList(active(x0)) 460.09/164.17 U21(mark(x0), x1) 460.09/164.17 U21(x0, mark(x1)) 460.09/164.17 U21(active(x0), x1) 460.09/164.17 U21(x0, active(x1)) 460.09/164.17 U22(mark(x0), x1) 460.09/164.17 U22(x0, mark(x1)) 460.09/164.17 U22(active(x0), x1) 460.09/164.17 U22(x0, active(x1)) 460.09/164.17 isNatKind(mark(x0)) 460.09/164.17 isNatKind(active(x0)) 460.09/164.17 U23(mark(x0)) 460.09/164.17 U23(active(x0)) 460.09/164.17 isNat(mark(x0)) 460.09/164.17 isNat(active(x0)) 460.09/164.17 U31(mark(x0), x1) 460.09/164.17 U31(x0, mark(x1)) 460.09/164.17 U31(active(x0), x1) 460.09/164.17 U31(x0, active(x1)) 460.09/164.17 U32(mark(x0), x1) 460.09/164.17 U32(x0, mark(x1)) 460.09/164.17 U32(active(x0), x1) 460.09/164.17 U32(x0, active(x1)) 460.09/164.17 U33(mark(x0)) 460.09/164.17 U33(active(x0)) 460.09/164.17 U41(mark(x0), x1, x2) 460.09/164.17 U41(x0, mark(x1), x2) 460.09/164.17 U41(x0, x1, mark(x2)) 460.09/164.17 U41(active(x0), x1, x2) 460.09/164.17 U41(x0, active(x1), x2) 460.09/164.17 U41(x0, x1, active(x2)) 460.09/164.17 U42(mark(x0), x1, x2) 460.09/164.17 U42(x0, mark(x1), x2) 460.09/164.17 U42(x0, x1, mark(x2)) 460.09/164.17 U42(active(x0), x1, x2) 460.09/164.17 U42(x0, active(x1), x2) 460.09/164.17 U42(x0, x1, active(x2)) 460.09/164.17 U43(mark(x0), x1, x2) 460.09/164.17 U43(x0, mark(x1), x2) 460.09/164.17 U43(x0, x1, mark(x2)) 460.09/164.17 U43(active(x0), x1, x2) 460.09/164.17 U43(x0, active(x1), x2) 460.09/164.17 U43(x0, x1, active(x2)) 460.09/164.17 U44(mark(x0), x1, x2) 460.09/164.17 U44(x0, mark(x1), x2) 460.09/164.17 U44(x0, x1, mark(x2)) 460.09/164.17 U44(active(x0), x1, x2) 460.09/164.17 U44(x0, active(x1), x2) 460.09/164.17 U44(x0, x1, active(x2)) 460.09/164.17 U45(mark(x0), x1) 460.09/164.17 U45(x0, mark(x1)) 460.09/164.17 U45(active(x0), x1) 460.09/164.17 U45(x0, active(x1)) 460.09/164.17 U46(mark(x0)) 460.09/164.17 U46(active(x0)) 460.09/164.17 isNatIList(mark(x0)) 460.09/164.17 isNatIList(active(x0)) 460.09/164.17 U51(mark(x0), x1) 460.09/164.17 U51(x0, mark(x1)) 460.09/164.17 U51(active(x0), x1) 460.09/164.17 U51(x0, active(x1)) 460.09/164.17 U52(mark(x0)) 460.09/164.17 U52(active(x0)) 460.09/164.17 U61(mark(x0)) 460.09/164.17 U61(active(x0)) 460.09/164.17 U71(mark(x0)) 460.09/164.17 U71(active(x0)) 460.09/164.17 U81(mark(x0), x1, x2) 460.09/164.17 U81(x0, mark(x1), x2) 460.09/164.17 U81(x0, x1, mark(x2)) 460.09/164.17 U81(active(x0), x1, x2) 460.09/164.17 U81(x0, active(x1), x2) 460.09/164.17 U81(x0, x1, active(x2)) 460.09/164.17 U82(mark(x0), x1, x2) 460.09/164.17 U82(x0, mark(x1), x2) 460.09/164.17 U82(x0, x1, mark(x2)) 460.09/164.17 U82(active(x0), x1, x2) 460.09/164.17 U82(x0, active(x1), x2) 460.09/164.17 U82(x0, x1, active(x2)) 460.09/164.17 U83(mark(x0), x1, x2) 460.09/164.17 U83(x0, mark(x1), x2) 460.09/164.17 U83(x0, x1, mark(x2)) 460.09/164.17 U83(active(x0), x1, x2) 460.09/164.17 U83(x0, active(x1), x2) 460.09/164.17 U83(x0, x1, active(x2)) 460.09/164.17 U84(mark(x0), x1, x2) 460.09/164.17 U84(x0, mark(x1), x2) 460.09/164.17 U84(x0, x1, mark(x2)) 460.09/164.17 U84(active(x0), x1, x2) 460.09/164.17 U84(x0, active(x1), x2) 460.09/164.17 U84(x0, x1, active(x2)) 460.09/164.17 U85(mark(x0), x1) 460.09/164.17 U85(x0, mark(x1)) 460.09/164.17 U85(active(x0), x1) 460.09/164.17 U85(x0, active(x1)) 460.09/164.17 U86(mark(x0)) 460.09/164.17 U86(active(x0)) 460.09/164.17 U91(mark(x0), x1, x2) 460.09/164.17 U91(x0, mark(x1), x2) 460.09/164.17 U91(x0, x1, mark(x2)) 460.09/164.17 U91(active(x0), x1, x2) 460.09/164.17 U91(x0, active(x1), x2) 460.09/164.17 U91(x0, x1, active(x2)) 460.09/164.17 U92(mark(x0), x1, x2) 460.09/164.17 U92(x0, mark(x1), x2) 460.09/164.17 U92(x0, x1, mark(x2)) 460.09/164.17 U92(active(x0), x1, x2) 460.09/164.17 U92(x0, active(x1), x2) 460.09/164.17 U92(x0, x1, active(x2)) 460.09/164.17 U93(mark(x0), x1, x2) 460.09/164.17 U93(x0, mark(x1), x2) 460.09/164.17 U93(x0, x1, mark(x2)) 460.09/164.17 U93(active(x0), x1, x2) 460.09/164.17 U93(x0, active(x1), x2) 460.09/164.17 U93(x0, x1, active(x2)) 460.09/164.17 U94(mark(x0), x1) 460.09/164.17 U94(x0, mark(x1)) 460.09/164.17 U94(active(x0), x1) 460.09/164.17 U94(x0, active(x1)) 460.09/164.17 s(mark(x0)) 460.09/164.17 s(active(x0)) 460.09/164.17 length(mark(x0)) 460.09/164.17 length(active(x0)) 460.09/164.17 460.09/164.17 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (233) 460.09/164.17 Obligation: 460.09/164.17 Q DP problem: 460.09/164.17 The TRS P consists of the following rules: 460.09/164.17 460.09/164.17 U13^1(active(X)) -> U13^1(X) 460.09/164.17 U13^1(mark(X)) -> U13^1(X) 460.09/164.17 460.09/164.17 R is empty. 460.09/164.17 The set Q consists of the following terms: 460.09/164.17 460.09/164.17 active(zeros) 460.09/164.17 active(U11(tt, x0)) 460.09/164.17 active(U12(tt, x0)) 460.09/164.17 active(U13(tt)) 460.09/164.17 active(U21(tt, x0)) 460.09/164.17 active(U22(tt, x0)) 460.09/164.17 active(U23(tt)) 460.09/164.17 active(U31(tt, x0)) 460.09/164.17 active(U32(tt, x0)) 460.09/164.17 active(U33(tt)) 460.09/164.17 active(U41(tt, x0, x1)) 460.09/164.17 active(U42(tt, x0, x1)) 460.09/164.17 active(U43(tt, x0, x1)) 460.09/164.17 active(U44(tt, x0, x1)) 460.09/164.17 active(U45(tt, x0)) 460.09/164.17 active(U46(tt)) 460.09/164.17 active(U51(tt, x0)) 460.09/164.17 active(U52(tt)) 460.09/164.17 active(U61(tt)) 460.09/164.17 active(U71(tt)) 460.09/164.17 active(U81(tt, x0, x1)) 460.09/164.17 active(U82(tt, x0, x1)) 460.09/164.17 active(U83(tt, x0, x1)) 460.09/164.17 active(U84(tt, x0, x1)) 460.09/164.17 active(U85(tt, x0)) 460.09/164.17 active(U86(tt)) 460.09/164.17 active(U91(tt, x0, x1)) 460.09/164.17 active(U92(tt, x0, x1)) 460.09/164.17 active(U93(tt, x0, x1)) 460.09/164.17 active(U94(tt, x0)) 460.09/164.17 active(isNat(0)) 460.09/164.17 active(isNat(length(x0))) 460.09/164.17 active(isNat(s(x0))) 460.09/164.17 active(isNatIList(x0)) 460.09/164.17 active(isNatIListKind(nil)) 460.09/164.17 active(isNatIListKind(zeros)) 460.09/164.17 active(isNatIListKind(cons(x0, x1))) 460.09/164.17 active(isNatKind(0)) 460.09/164.17 active(isNatKind(length(x0))) 460.09/164.17 active(isNatKind(s(x0))) 460.09/164.17 active(isNatList(nil)) 460.09/164.17 active(isNatList(cons(x0, x1))) 460.09/164.17 active(length(nil)) 460.09/164.17 active(length(cons(x0, x1))) 460.09/164.17 mark(zeros) 460.09/164.17 mark(cons(x0, x1)) 460.09/164.17 mark(0) 460.09/164.17 mark(U11(x0, x1)) 460.09/164.17 mark(tt) 460.09/164.17 mark(U12(x0, x1)) 460.09/164.17 mark(isNatIListKind(x0)) 460.09/164.17 mark(U13(x0)) 460.09/164.17 mark(isNatList(x0)) 460.09/164.17 mark(U21(x0, x1)) 460.09/164.17 mark(U22(x0, x1)) 460.09/164.17 mark(isNatKind(x0)) 460.09/164.17 mark(U23(x0)) 460.09/164.17 mark(isNat(x0)) 460.09/164.17 mark(U31(x0, x1)) 460.09/164.17 mark(U32(x0, x1)) 460.09/164.17 mark(U33(x0)) 460.09/164.17 mark(U41(x0, x1, x2)) 460.09/164.17 mark(U42(x0, x1, x2)) 460.09/164.17 mark(U43(x0, x1, x2)) 460.09/164.17 mark(U44(x0, x1, x2)) 460.09/164.17 mark(U45(x0, x1)) 460.09/164.17 mark(U46(x0)) 460.09/164.17 mark(isNatIList(x0)) 460.09/164.17 mark(U51(x0, x1)) 460.09/164.17 mark(U52(x0)) 460.09/164.17 mark(U61(x0)) 460.09/164.17 mark(U71(x0)) 460.09/164.17 mark(U81(x0, x1, x2)) 460.09/164.17 mark(U82(x0, x1, x2)) 460.09/164.17 mark(U83(x0, x1, x2)) 460.09/164.17 mark(U84(x0, x1, x2)) 460.09/164.17 mark(U85(x0, x1)) 460.09/164.17 mark(U86(x0)) 460.09/164.17 mark(U91(x0, x1, x2)) 460.09/164.17 mark(U92(x0, x1, x2)) 460.09/164.17 mark(U93(x0, x1, x2)) 460.09/164.17 mark(U94(x0, x1)) 460.09/164.17 mark(s(x0)) 460.09/164.17 mark(length(x0)) 460.09/164.17 mark(nil) 460.09/164.17 460.09/164.17 We have to consider all minimal (P,Q,R)-chains. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (234) QDPSizeChangeProof (EQUIVALENT) 460.09/164.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.09/164.17 460.09/164.17 From the DPs we obtained the following set of size-change graphs: 460.09/164.17 *U13^1(active(X)) -> U13^1(X) 460.09/164.17 The graph contains the following edges 1 > 1 460.09/164.17 460.09/164.17 460.09/164.17 *U13^1(mark(X)) -> U13^1(X) 460.09/164.17 The graph contains the following edges 1 > 1 460.09/164.17 460.09/164.17 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (235) 460.09/164.17 YES 460.09/164.17 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (236) 460.09/164.17 Obligation: 460.09/164.17 Q DP problem: 460.09/164.17 The TRS P consists of the following rules: 460.09/164.17 460.09/164.17 ISNATILISTKIND(active(X)) -> ISNATILISTKIND(X) 460.09/164.17 ISNATILISTKIND(mark(X)) -> ISNATILISTKIND(X) 460.09/164.17 460.09/164.17 The TRS R consists of the following rules: 460.09/164.17 460.09/164.17 active(zeros) -> mark(cons(0, zeros)) 460.09/164.17 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.09/164.17 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.09/164.17 active(U13(tt)) -> mark(tt) 460.09/164.17 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.09/164.17 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.09/164.17 active(U23(tt)) -> mark(tt) 460.09/164.17 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.09/164.17 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.09/164.17 active(U33(tt)) -> mark(tt) 460.09/164.17 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.09/164.17 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.09/164.17 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.09/164.17 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.09/164.17 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.09/164.17 active(U46(tt)) -> mark(tt) 460.09/164.17 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.09/164.17 active(U52(tt)) -> mark(tt) 460.09/164.17 active(U61(tt)) -> mark(tt) 460.09/164.17 active(U71(tt)) -> mark(tt) 460.09/164.17 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.09/164.17 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.09/164.17 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.09/164.17 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.09/164.17 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.09/164.17 active(U86(tt)) -> mark(tt) 460.09/164.17 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.09/164.17 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.09/164.17 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.09/164.17 active(U94(tt, L)) -> mark(s(length(L))) 460.09/164.17 active(isNat(0)) -> mark(tt) 460.09/164.17 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.09/164.17 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.09/164.17 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.09/164.17 active(isNatIList(zeros)) -> mark(tt) 460.09/164.17 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.09/164.17 active(isNatIListKind(nil)) -> mark(tt) 460.09/164.17 active(isNatIListKind(zeros)) -> mark(tt) 460.09/164.17 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.09/164.17 active(isNatKind(0)) -> mark(tt) 460.09/164.17 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.09/164.17 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.09/164.17 active(isNatList(nil)) -> mark(tt) 460.09/164.17 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.09/164.17 active(length(nil)) -> mark(0) 460.09/164.17 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.09/164.17 mark(zeros) -> active(zeros) 460.09/164.17 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.09/164.17 mark(0) -> active(0) 460.09/164.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.09/164.17 mark(tt) -> active(tt) 460.09/164.17 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.09/164.17 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.09/164.17 mark(U13(X)) -> active(U13(mark(X))) 460.09/164.17 mark(isNatList(X)) -> active(isNatList(X)) 460.09/164.17 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.09/164.17 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.09/164.17 mark(isNatKind(X)) -> active(isNatKind(X)) 460.09/164.17 mark(U23(X)) -> active(U23(mark(X))) 460.09/164.17 mark(isNat(X)) -> active(isNat(X)) 460.09/164.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.09/164.17 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.09/164.17 mark(U33(X)) -> active(U33(mark(X))) 460.09/164.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.09/164.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.09/164.17 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.09/164.17 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.09/164.17 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.09/164.17 mark(U46(X)) -> active(U46(mark(X))) 460.09/164.17 mark(isNatIList(X)) -> active(isNatIList(X)) 460.09/164.17 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.09/164.17 mark(U52(X)) -> active(U52(mark(X))) 460.09/164.17 mark(U61(X)) -> active(U61(mark(X))) 460.09/164.17 mark(U71(X)) -> active(U71(mark(X))) 460.09/164.17 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.09/164.17 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.09/164.17 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.09/164.17 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.09/164.17 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.09/164.17 mark(U86(X)) -> active(U86(mark(X))) 460.09/164.17 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.09/164.17 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.09/164.17 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.09/164.17 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.09/164.17 mark(s(X)) -> active(s(mark(X))) 460.09/164.17 mark(length(X)) -> active(length(mark(X))) 460.09/164.17 mark(nil) -> active(nil) 460.09/164.17 cons(mark(X1), X2) -> cons(X1, X2) 460.09/164.17 cons(X1, mark(X2)) -> cons(X1, X2) 460.09/164.17 cons(active(X1), X2) -> cons(X1, X2) 460.09/164.17 cons(X1, active(X2)) -> cons(X1, X2) 460.09/164.17 U11(mark(X1), X2) -> U11(X1, X2) 460.09/164.17 U11(X1, mark(X2)) -> U11(X1, X2) 460.09/164.17 U11(active(X1), X2) -> U11(X1, X2) 460.09/164.17 U11(X1, active(X2)) -> U11(X1, X2) 460.09/164.17 U12(mark(X1), X2) -> U12(X1, X2) 460.09/164.17 U12(X1, mark(X2)) -> U12(X1, X2) 460.09/164.17 U12(active(X1), X2) -> U12(X1, X2) 460.09/164.17 U12(X1, active(X2)) -> U12(X1, X2) 460.09/164.17 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.09/164.17 isNatIListKind(active(X)) -> isNatIListKind(X) 460.09/164.17 U13(mark(X)) -> U13(X) 460.09/164.17 U13(active(X)) -> U13(X) 460.09/164.17 isNatList(mark(X)) -> isNatList(X) 460.09/164.17 isNatList(active(X)) -> isNatList(X) 460.09/164.17 U21(mark(X1), X2) -> U21(X1, X2) 460.09/164.17 U21(X1, mark(X2)) -> U21(X1, X2) 460.09/164.17 U21(active(X1), X2) -> U21(X1, X2) 460.09/164.17 U21(X1, active(X2)) -> U21(X1, X2) 460.09/164.17 U22(mark(X1), X2) -> U22(X1, X2) 460.09/164.17 U22(X1, mark(X2)) -> U22(X1, X2) 460.09/164.17 U22(active(X1), X2) -> U22(X1, X2) 460.09/164.17 U22(X1, active(X2)) -> U22(X1, X2) 460.09/164.17 isNatKind(mark(X)) -> isNatKind(X) 460.09/164.17 isNatKind(active(X)) -> isNatKind(X) 460.09/164.17 U23(mark(X)) -> U23(X) 460.09/164.17 U23(active(X)) -> U23(X) 460.09/164.17 isNat(mark(X)) -> isNat(X) 460.09/164.17 isNat(active(X)) -> isNat(X) 460.09/164.17 U31(mark(X1), X2) -> U31(X1, X2) 460.09/164.17 U31(X1, mark(X2)) -> U31(X1, X2) 460.09/164.17 U31(active(X1), X2) -> U31(X1, X2) 460.09/164.17 U31(X1, active(X2)) -> U31(X1, X2) 460.09/164.17 U32(mark(X1), X2) -> U32(X1, X2) 460.09/164.17 U32(X1, mark(X2)) -> U32(X1, X2) 460.09/164.17 U32(active(X1), X2) -> U32(X1, X2) 460.09/164.17 U32(X1, active(X2)) -> U32(X1, X2) 460.09/164.17 U33(mark(X)) -> U33(X) 460.09/164.17 U33(active(X)) -> U33(X) 460.09/164.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.09/164.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.09/164.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.09/164.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.09/164.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.09/164.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.09/164.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.09/164.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.09/164.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.09/164.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.09/164.17 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.17 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.09/164.17 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.09/164.17 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.09/164.17 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.09/164.17 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.09/164.17 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.17 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.09/164.17 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.09/164.17 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.09/164.17 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.09/164.17 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.09/164.17 U45(mark(X1), X2) -> U45(X1, X2) 460.09/164.17 U45(X1, mark(X2)) -> U45(X1, X2) 460.09/164.17 U45(active(X1), X2) -> U45(X1, X2) 460.09/164.17 U45(X1, active(X2)) -> U45(X1, X2) 460.09/164.17 U46(mark(X)) -> U46(X) 460.09/164.17 U46(active(X)) -> U46(X) 460.09/164.17 isNatIList(mark(X)) -> isNatIList(X) 460.09/164.17 isNatIList(active(X)) -> isNatIList(X) 460.09/164.17 U51(mark(X1), X2) -> U51(X1, X2) 460.09/164.17 U51(X1, mark(X2)) -> U51(X1, X2) 460.09/164.17 U51(active(X1), X2) -> U51(X1, X2) 460.09/164.17 U51(X1, active(X2)) -> U51(X1, X2) 460.09/164.17 U52(mark(X)) -> U52(X) 460.09/164.17 U52(active(X)) -> U52(X) 460.09/164.17 U61(mark(X)) -> U61(X) 460.09/164.17 U61(active(X)) -> U61(X) 460.09/164.17 U71(mark(X)) -> U71(X) 460.09/164.17 U71(active(X)) -> U71(X) 460.09/164.17 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.17 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.09/164.17 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.09/164.17 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.09/164.17 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.09/164.17 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.09/164.17 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.17 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.09/164.17 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.09/164.17 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.09/164.17 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.09/164.17 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.09/164.17 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.17 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.09/164.17 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.09/164.17 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.09/164.17 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.09/164.17 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.09/164.17 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.17 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.09/164.17 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.09/164.17 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.09/164.17 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.09/164.17 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.09/164.17 U85(mark(X1), X2) -> U85(X1, X2) 460.09/164.17 U85(X1, mark(X2)) -> U85(X1, X2) 460.09/164.17 U85(active(X1), X2) -> U85(X1, X2) 460.09/164.17 U85(X1, active(X2)) -> U85(X1, X2) 460.09/164.17 U86(mark(X)) -> U86(X) 460.09/164.17 U86(active(X)) -> U86(X) 460.09/164.17 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.17 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.09/164.17 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.09/164.17 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.09/164.17 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.09/164.17 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.09/164.17 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.17 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.09/164.17 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.09/164.17 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.09/164.17 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.09/164.17 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.09/164.17 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.17 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.09/164.17 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.09/164.17 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.09/164.17 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.09/164.17 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.09/164.17 U94(mark(X1), X2) -> U94(X1, X2) 460.09/164.17 U94(X1, mark(X2)) -> U94(X1, X2) 460.09/164.17 U94(active(X1), X2) -> U94(X1, X2) 460.09/164.17 U94(X1, active(X2)) -> U94(X1, X2) 460.09/164.17 s(mark(X)) -> s(X) 460.09/164.17 s(active(X)) -> s(X) 460.09/164.17 length(mark(X)) -> length(X) 460.09/164.17 length(active(X)) -> length(X) 460.09/164.17 460.09/164.17 The set Q consists of the following terms: 460.09/164.17 460.09/164.17 active(zeros) 460.09/164.17 active(U11(tt, x0)) 460.09/164.17 active(U12(tt, x0)) 460.09/164.17 active(U13(tt)) 460.09/164.17 active(U21(tt, x0)) 460.09/164.17 active(U22(tt, x0)) 460.09/164.17 active(U23(tt)) 460.09/164.17 active(U31(tt, x0)) 460.09/164.17 active(U32(tt, x0)) 460.09/164.17 active(U33(tt)) 460.09/164.17 active(U41(tt, x0, x1)) 460.09/164.17 active(U42(tt, x0, x1)) 460.09/164.17 active(U43(tt, x0, x1)) 460.09/164.17 active(U44(tt, x0, x1)) 460.09/164.17 active(U45(tt, x0)) 460.09/164.17 active(U46(tt)) 460.09/164.17 active(U51(tt, x0)) 460.09/164.17 active(U52(tt)) 460.09/164.17 active(U61(tt)) 460.09/164.17 active(U71(tt)) 460.09/164.17 active(U81(tt, x0, x1)) 460.09/164.17 active(U82(tt, x0, x1)) 460.09/164.17 active(U83(tt, x0, x1)) 460.09/164.17 active(U84(tt, x0, x1)) 460.09/164.17 active(U85(tt, x0)) 460.09/164.17 active(U86(tt)) 460.09/164.17 active(U91(tt, x0, x1)) 460.09/164.17 active(U92(tt, x0, x1)) 460.09/164.17 active(U93(tt, x0, x1)) 460.09/164.17 active(U94(tt, x0)) 460.09/164.17 active(isNat(0)) 460.09/164.17 active(isNat(length(x0))) 460.09/164.17 active(isNat(s(x0))) 460.09/164.17 active(isNatIList(x0)) 460.09/164.17 active(isNatIListKind(nil)) 460.09/164.17 active(isNatIListKind(zeros)) 460.09/164.17 active(isNatIListKind(cons(x0, x1))) 460.09/164.17 active(isNatKind(0)) 460.09/164.17 active(isNatKind(length(x0))) 460.09/164.17 active(isNatKind(s(x0))) 460.09/164.17 active(isNatList(nil)) 460.09/164.17 active(isNatList(cons(x0, x1))) 460.09/164.17 active(length(nil)) 460.09/164.17 active(length(cons(x0, x1))) 460.09/164.17 mark(zeros) 460.09/164.17 mark(cons(x0, x1)) 460.09/164.17 mark(0) 460.09/164.17 mark(U11(x0, x1)) 460.09/164.17 mark(tt) 460.09/164.17 mark(U12(x0, x1)) 460.09/164.17 mark(isNatIListKind(x0)) 460.09/164.17 mark(U13(x0)) 460.09/164.17 mark(isNatList(x0)) 460.09/164.17 mark(U21(x0, x1)) 460.09/164.17 mark(U22(x0, x1)) 460.09/164.17 mark(isNatKind(x0)) 460.09/164.17 mark(U23(x0)) 460.09/164.17 mark(isNat(x0)) 460.09/164.17 mark(U31(x0, x1)) 460.09/164.17 mark(U32(x0, x1)) 460.09/164.17 mark(U33(x0)) 460.09/164.17 mark(U41(x0, x1, x2)) 460.09/164.17 mark(U42(x0, x1, x2)) 460.09/164.17 mark(U43(x0, x1, x2)) 460.09/164.17 mark(U44(x0, x1, x2)) 460.09/164.17 mark(U45(x0, x1)) 460.09/164.17 mark(U46(x0)) 460.09/164.17 mark(isNatIList(x0)) 460.09/164.17 mark(U51(x0, x1)) 460.09/164.17 mark(U52(x0)) 460.09/164.17 mark(U61(x0)) 460.09/164.17 mark(U71(x0)) 460.09/164.17 mark(U81(x0, x1, x2)) 460.09/164.17 mark(U82(x0, x1, x2)) 460.09/164.17 mark(U83(x0, x1, x2)) 460.09/164.17 mark(U84(x0, x1, x2)) 460.09/164.17 mark(U85(x0, x1)) 460.09/164.17 mark(U86(x0)) 460.09/164.17 mark(U91(x0, x1, x2)) 460.09/164.17 mark(U92(x0, x1, x2)) 460.09/164.17 mark(U93(x0, x1, x2)) 460.09/164.17 mark(U94(x0, x1)) 460.09/164.17 mark(s(x0)) 460.09/164.17 mark(length(x0)) 460.09/164.17 mark(nil) 460.09/164.17 cons(mark(x0), x1) 460.09/164.17 cons(x0, mark(x1)) 460.09/164.17 cons(active(x0), x1) 460.09/164.17 cons(x0, active(x1)) 460.09/164.17 U11(mark(x0), x1) 460.09/164.17 U11(x0, mark(x1)) 460.09/164.17 U11(active(x0), x1) 460.09/164.17 U11(x0, active(x1)) 460.09/164.17 U12(mark(x0), x1) 460.09/164.17 U12(x0, mark(x1)) 460.09/164.17 U12(active(x0), x1) 460.09/164.17 U12(x0, active(x1)) 460.09/164.17 isNatIListKind(mark(x0)) 460.09/164.17 isNatIListKind(active(x0)) 460.09/164.17 U13(mark(x0)) 460.09/164.17 U13(active(x0)) 460.09/164.17 isNatList(mark(x0)) 460.09/164.17 isNatList(active(x0)) 460.09/164.17 U21(mark(x0), x1) 460.09/164.17 U21(x0, mark(x1)) 460.09/164.17 U21(active(x0), x1) 460.09/164.17 U21(x0, active(x1)) 460.09/164.17 U22(mark(x0), x1) 460.09/164.17 U22(x0, mark(x1)) 460.09/164.17 U22(active(x0), x1) 460.09/164.17 U22(x0, active(x1)) 460.09/164.17 isNatKind(mark(x0)) 460.09/164.17 isNatKind(active(x0)) 460.09/164.17 U23(mark(x0)) 460.09/164.17 U23(active(x0)) 460.09/164.17 isNat(mark(x0)) 460.09/164.17 isNat(active(x0)) 460.09/164.17 U31(mark(x0), x1) 460.09/164.17 U31(x0, mark(x1)) 460.09/164.17 U31(active(x0), x1) 460.09/164.17 U31(x0, active(x1)) 460.09/164.17 U32(mark(x0), x1) 460.09/164.17 U32(x0, mark(x1)) 460.09/164.17 U32(active(x0), x1) 460.09/164.17 U32(x0, active(x1)) 460.09/164.17 U33(mark(x0)) 460.09/164.17 U33(active(x0)) 460.09/164.17 U41(mark(x0), x1, x2) 460.09/164.17 U41(x0, mark(x1), x2) 460.09/164.17 U41(x0, x1, mark(x2)) 460.09/164.17 U41(active(x0), x1, x2) 460.09/164.17 U41(x0, active(x1), x2) 460.09/164.17 U41(x0, x1, active(x2)) 460.09/164.17 U42(mark(x0), x1, x2) 460.09/164.17 U42(x0, mark(x1), x2) 460.09/164.17 U42(x0, x1, mark(x2)) 460.09/164.17 U42(active(x0), x1, x2) 460.09/164.17 U42(x0, active(x1), x2) 460.09/164.17 U42(x0, x1, active(x2)) 460.09/164.17 U43(mark(x0), x1, x2) 460.09/164.17 U43(x0, mark(x1), x2) 460.09/164.17 U43(x0, x1, mark(x2)) 460.09/164.17 U43(active(x0), x1, x2) 460.09/164.17 U43(x0, active(x1), x2) 460.09/164.17 U43(x0, x1, active(x2)) 460.09/164.17 U44(mark(x0), x1, x2) 460.09/164.17 U44(x0, mark(x1), x2) 460.09/164.17 U44(x0, x1, mark(x2)) 460.09/164.17 U44(active(x0), x1, x2) 460.09/164.17 U44(x0, active(x1), x2) 460.09/164.17 U44(x0, x1, active(x2)) 460.09/164.17 U45(mark(x0), x1) 460.09/164.17 U45(x0, mark(x1)) 460.09/164.17 U45(active(x0), x1) 460.09/164.17 U45(x0, active(x1)) 460.09/164.17 U46(mark(x0)) 460.09/164.17 U46(active(x0)) 460.09/164.17 isNatIList(mark(x0)) 460.09/164.17 isNatIList(active(x0)) 460.09/164.17 U51(mark(x0), x1) 460.09/164.17 U51(x0, mark(x1)) 460.09/164.17 U51(active(x0), x1) 460.09/164.17 U51(x0, active(x1)) 460.09/164.17 U52(mark(x0)) 460.09/164.17 U52(active(x0)) 460.09/164.17 U61(mark(x0)) 460.09/164.17 U61(active(x0)) 460.09/164.17 U71(mark(x0)) 460.09/164.17 U71(active(x0)) 460.09/164.17 U81(mark(x0), x1, x2) 460.09/164.17 U81(x0, mark(x1), x2) 460.09/164.17 U81(x0, x1, mark(x2)) 460.09/164.17 U81(active(x0), x1, x2) 460.09/164.17 U81(x0, active(x1), x2) 460.09/164.17 U81(x0, x1, active(x2)) 460.09/164.17 U82(mark(x0), x1, x2) 460.09/164.17 U82(x0, mark(x1), x2) 460.09/164.17 U82(x0, x1, mark(x2)) 460.09/164.17 U82(active(x0), x1, x2) 460.09/164.17 U82(x0, active(x1), x2) 460.09/164.17 U82(x0, x1, active(x2)) 460.09/164.17 U83(mark(x0), x1, x2) 460.09/164.17 U83(x0, mark(x1), x2) 460.09/164.17 U83(x0, x1, mark(x2)) 460.09/164.17 U83(active(x0), x1, x2) 460.09/164.17 U83(x0, active(x1), x2) 460.09/164.17 U83(x0, x1, active(x2)) 460.09/164.17 U84(mark(x0), x1, x2) 460.09/164.17 U84(x0, mark(x1), x2) 460.09/164.17 U84(x0, x1, mark(x2)) 460.09/164.17 U84(active(x0), x1, x2) 460.09/164.17 U84(x0, active(x1), x2) 460.09/164.17 U84(x0, x1, active(x2)) 460.09/164.17 U85(mark(x0), x1) 460.09/164.17 U85(x0, mark(x1)) 460.09/164.17 U85(active(x0), x1) 460.09/164.17 U85(x0, active(x1)) 460.09/164.17 U86(mark(x0)) 460.09/164.17 U86(active(x0)) 460.09/164.17 U91(mark(x0), x1, x2) 460.09/164.17 U91(x0, mark(x1), x2) 460.09/164.17 U91(x0, x1, mark(x2)) 460.09/164.17 U91(active(x0), x1, x2) 460.09/164.17 U91(x0, active(x1), x2) 460.09/164.17 U91(x0, x1, active(x2)) 460.09/164.17 U92(mark(x0), x1, x2) 460.09/164.17 U92(x0, mark(x1), x2) 460.09/164.17 U92(x0, x1, mark(x2)) 460.09/164.17 U92(active(x0), x1, x2) 460.09/164.17 U92(x0, active(x1), x2) 460.09/164.17 U92(x0, x1, active(x2)) 460.09/164.17 U93(mark(x0), x1, x2) 460.09/164.17 U93(x0, mark(x1), x2) 460.09/164.17 U93(x0, x1, mark(x2)) 460.09/164.17 U93(active(x0), x1, x2) 460.09/164.17 U93(x0, active(x1), x2) 460.09/164.17 U93(x0, x1, active(x2)) 460.09/164.17 U94(mark(x0), x1) 460.09/164.17 U94(x0, mark(x1)) 460.09/164.17 U94(active(x0), x1) 460.09/164.17 U94(x0, active(x1)) 460.09/164.17 s(mark(x0)) 460.09/164.17 s(active(x0)) 460.09/164.17 length(mark(x0)) 460.09/164.17 length(active(x0)) 460.09/164.17 460.09/164.17 We have to consider all minimal (P,Q,R)-chains. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (237) UsableRulesProof (EQUIVALENT) 460.09/164.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (238) 460.09/164.17 Obligation: 460.09/164.17 Q DP problem: 460.09/164.17 The TRS P consists of the following rules: 460.09/164.17 460.09/164.17 ISNATILISTKIND(active(X)) -> ISNATILISTKIND(X) 460.09/164.17 ISNATILISTKIND(mark(X)) -> ISNATILISTKIND(X) 460.09/164.17 460.09/164.17 R is empty. 460.09/164.17 The set Q consists of the following terms: 460.09/164.17 460.09/164.17 active(zeros) 460.09/164.17 active(U11(tt, x0)) 460.09/164.17 active(U12(tt, x0)) 460.09/164.17 active(U13(tt)) 460.09/164.17 active(U21(tt, x0)) 460.09/164.17 active(U22(tt, x0)) 460.09/164.17 active(U23(tt)) 460.09/164.17 active(U31(tt, x0)) 460.09/164.17 active(U32(tt, x0)) 460.09/164.17 active(U33(tt)) 460.09/164.17 active(U41(tt, x0, x1)) 460.09/164.17 active(U42(tt, x0, x1)) 460.09/164.17 active(U43(tt, x0, x1)) 460.09/164.17 active(U44(tt, x0, x1)) 460.09/164.17 active(U45(tt, x0)) 460.09/164.17 active(U46(tt)) 460.09/164.17 active(U51(tt, x0)) 460.09/164.17 active(U52(tt)) 460.09/164.17 active(U61(tt)) 460.09/164.17 active(U71(tt)) 460.09/164.17 active(U81(tt, x0, x1)) 460.09/164.17 active(U82(tt, x0, x1)) 460.09/164.17 active(U83(tt, x0, x1)) 460.09/164.17 active(U84(tt, x0, x1)) 460.09/164.17 active(U85(tt, x0)) 460.09/164.17 active(U86(tt)) 460.09/164.17 active(U91(tt, x0, x1)) 460.09/164.17 active(U92(tt, x0, x1)) 460.09/164.17 active(U93(tt, x0, x1)) 460.09/164.17 active(U94(tt, x0)) 460.09/164.17 active(isNat(0)) 460.09/164.17 active(isNat(length(x0))) 460.09/164.17 active(isNat(s(x0))) 460.09/164.17 active(isNatIList(x0)) 460.09/164.17 active(isNatIListKind(nil)) 460.09/164.17 active(isNatIListKind(zeros)) 460.09/164.17 active(isNatIListKind(cons(x0, x1))) 460.09/164.17 active(isNatKind(0)) 460.09/164.17 active(isNatKind(length(x0))) 460.09/164.17 active(isNatKind(s(x0))) 460.09/164.17 active(isNatList(nil)) 460.09/164.17 active(isNatList(cons(x0, x1))) 460.09/164.17 active(length(nil)) 460.09/164.17 active(length(cons(x0, x1))) 460.09/164.17 mark(zeros) 460.09/164.17 mark(cons(x0, x1)) 460.09/164.17 mark(0) 460.09/164.17 mark(U11(x0, x1)) 460.09/164.17 mark(tt) 460.09/164.17 mark(U12(x0, x1)) 460.09/164.17 mark(isNatIListKind(x0)) 460.09/164.17 mark(U13(x0)) 460.09/164.17 mark(isNatList(x0)) 460.09/164.17 mark(U21(x0, x1)) 460.09/164.17 mark(U22(x0, x1)) 460.09/164.17 mark(isNatKind(x0)) 460.09/164.17 mark(U23(x0)) 460.09/164.17 mark(isNat(x0)) 460.09/164.17 mark(U31(x0, x1)) 460.09/164.17 mark(U32(x0, x1)) 460.09/164.17 mark(U33(x0)) 460.09/164.17 mark(U41(x0, x1, x2)) 460.09/164.17 mark(U42(x0, x1, x2)) 460.09/164.17 mark(U43(x0, x1, x2)) 460.09/164.17 mark(U44(x0, x1, x2)) 460.09/164.17 mark(U45(x0, x1)) 460.09/164.17 mark(U46(x0)) 460.09/164.17 mark(isNatIList(x0)) 460.09/164.17 mark(U51(x0, x1)) 460.09/164.17 mark(U52(x0)) 460.09/164.17 mark(U61(x0)) 460.09/164.17 mark(U71(x0)) 460.09/164.17 mark(U81(x0, x1, x2)) 460.09/164.17 mark(U82(x0, x1, x2)) 460.09/164.17 mark(U83(x0, x1, x2)) 460.09/164.17 mark(U84(x0, x1, x2)) 460.09/164.17 mark(U85(x0, x1)) 460.09/164.17 mark(U86(x0)) 460.09/164.17 mark(U91(x0, x1, x2)) 460.09/164.17 mark(U92(x0, x1, x2)) 460.09/164.17 mark(U93(x0, x1, x2)) 460.09/164.17 mark(U94(x0, x1)) 460.09/164.17 mark(s(x0)) 460.09/164.17 mark(length(x0)) 460.09/164.17 mark(nil) 460.09/164.17 cons(mark(x0), x1) 460.09/164.17 cons(x0, mark(x1)) 460.09/164.17 cons(active(x0), x1) 460.09/164.17 cons(x0, active(x1)) 460.09/164.17 U11(mark(x0), x1) 460.09/164.17 U11(x0, mark(x1)) 460.09/164.17 U11(active(x0), x1) 460.09/164.17 U11(x0, active(x1)) 460.09/164.17 U12(mark(x0), x1) 460.09/164.17 U12(x0, mark(x1)) 460.09/164.17 U12(active(x0), x1) 460.09/164.17 U12(x0, active(x1)) 460.09/164.17 isNatIListKind(mark(x0)) 460.09/164.17 isNatIListKind(active(x0)) 460.09/164.17 U13(mark(x0)) 460.09/164.17 U13(active(x0)) 460.09/164.17 isNatList(mark(x0)) 460.09/164.17 isNatList(active(x0)) 460.09/164.17 U21(mark(x0), x1) 460.09/164.17 U21(x0, mark(x1)) 460.09/164.17 U21(active(x0), x1) 460.09/164.17 U21(x0, active(x1)) 460.09/164.17 U22(mark(x0), x1) 460.09/164.17 U22(x0, mark(x1)) 460.09/164.17 U22(active(x0), x1) 460.09/164.17 U22(x0, active(x1)) 460.09/164.17 isNatKind(mark(x0)) 460.09/164.17 isNatKind(active(x0)) 460.09/164.17 U23(mark(x0)) 460.09/164.17 U23(active(x0)) 460.09/164.17 isNat(mark(x0)) 460.09/164.17 isNat(active(x0)) 460.09/164.17 U31(mark(x0), x1) 460.09/164.17 U31(x0, mark(x1)) 460.09/164.17 U31(active(x0), x1) 460.09/164.17 U31(x0, active(x1)) 460.09/164.17 U32(mark(x0), x1) 460.09/164.17 U32(x0, mark(x1)) 460.09/164.17 U32(active(x0), x1) 460.09/164.17 U32(x0, active(x1)) 460.09/164.17 U33(mark(x0)) 460.09/164.17 U33(active(x0)) 460.09/164.17 U41(mark(x0), x1, x2) 460.09/164.17 U41(x0, mark(x1), x2) 460.09/164.17 U41(x0, x1, mark(x2)) 460.09/164.17 U41(active(x0), x1, x2) 460.09/164.17 U41(x0, active(x1), x2) 460.09/164.17 U41(x0, x1, active(x2)) 460.09/164.17 U42(mark(x0), x1, x2) 460.09/164.17 U42(x0, mark(x1), x2) 460.09/164.17 U42(x0, x1, mark(x2)) 460.09/164.17 U42(active(x0), x1, x2) 460.09/164.17 U42(x0, active(x1), x2) 460.09/164.17 U42(x0, x1, active(x2)) 460.09/164.17 U43(mark(x0), x1, x2) 460.09/164.17 U43(x0, mark(x1), x2) 460.09/164.17 U43(x0, x1, mark(x2)) 460.09/164.17 U43(active(x0), x1, x2) 460.09/164.17 U43(x0, active(x1), x2) 460.09/164.17 U43(x0, x1, active(x2)) 460.09/164.17 U44(mark(x0), x1, x2) 460.09/164.17 U44(x0, mark(x1), x2) 460.09/164.17 U44(x0, x1, mark(x2)) 460.09/164.17 U44(active(x0), x1, x2) 460.09/164.17 U44(x0, active(x1), x2) 460.09/164.17 U44(x0, x1, active(x2)) 460.09/164.17 U45(mark(x0), x1) 460.09/164.17 U45(x0, mark(x1)) 460.09/164.17 U45(active(x0), x1) 460.09/164.17 U45(x0, active(x1)) 460.09/164.17 U46(mark(x0)) 460.09/164.17 U46(active(x0)) 460.09/164.17 isNatIList(mark(x0)) 460.09/164.17 isNatIList(active(x0)) 460.09/164.17 U51(mark(x0), x1) 460.09/164.17 U51(x0, mark(x1)) 460.09/164.17 U51(active(x0), x1) 460.09/164.17 U51(x0, active(x1)) 460.09/164.17 U52(mark(x0)) 460.09/164.17 U52(active(x0)) 460.09/164.17 U61(mark(x0)) 460.09/164.17 U61(active(x0)) 460.09/164.17 U71(mark(x0)) 460.09/164.17 U71(active(x0)) 460.09/164.17 U81(mark(x0), x1, x2) 460.09/164.17 U81(x0, mark(x1), x2) 460.09/164.17 U81(x0, x1, mark(x2)) 460.09/164.17 U81(active(x0), x1, x2) 460.09/164.17 U81(x0, active(x1), x2) 460.09/164.17 U81(x0, x1, active(x2)) 460.09/164.17 U82(mark(x0), x1, x2) 460.09/164.17 U82(x0, mark(x1), x2) 460.09/164.17 U82(x0, x1, mark(x2)) 460.09/164.17 U82(active(x0), x1, x2) 460.09/164.17 U82(x0, active(x1), x2) 460.09/164.17 U82(x0, x1, active(x2)) 460.09/164.17 U83(mark(x0), x1, x2) 460.09/164.17 U83(x0, mark(x1), x2) 460.09/164.17 U83(x0, x1, mark(x2)) 460.09/164.17 U83(active(x0), x1, x2) 460.09/164.17 U83(x0, active(x1), x2) 460.09/164.17 U83(x0, x1, active(x2)) 460.09/164.17 U84(mark(x0), x1, x2) 460.09/164.17 U84(x0, mark(x1), x2) 460.09/164.17 U84(x0, x1, mark(x2)) 460.09/164.17 U84(active(x0), x1, x2) 460.09/164.17 U84(x0, active(x1), x2) 460.09/164.17 U84(x0, x1, active(x2)) 460.09/164.17 U85(mark(x0), x1) 460.09/164.17 U85(x0, mark(x1)) 460.09/164.17 U85(active(x0), x1) 460.09/164.17 U85(x0, active(x1)) 460.09/164.17 U86(mark(x0)) 460.09/164.17 U86(active(x0)) 460.09/164.17 U91(mark(x0), x1, x2) 460.09/164.17 U91(x0, mark(x1), x2) 460.09/164.17 U91(x0, x1, mark(x2)) 460.09/164.17 U91(active(x0), x1, x2) 460.09/164.17 U91(x0, active(x1), x2) 460.09/164.17 U91(x0, x1, active(x2)) 460.09/164.17 U92(mark(x0), x1, x2) 460.09/164.17 U92(x0, mark(x1), x2) 460.09/164.17 U92(x0, x1, mark(x2)) 460.09/164.17 U92(active(x0), x1, x2) 460.09/164.17 U92(x0, active(x1), x2) 460.09/164.17 U92(x0, x1, active(x2)) 460.09/164.17 U93(mark(x0), x1, x2) 460.09/164.17 U93(x0, mark(x1), x2) 460.09/164.17 U93(x0, x1, mark(x2)) 460.09/164.17 U93(active(x0), x1, x2) 460.09/164.17 U93(x0, active(x1), x2) 460.09/164.17 U93(x0, x1, active(x2)) 460.09/164.17 U94(mark(x0), x1) 460.09/164.17 U94(x0, mark(x1)) 460.09/164.17 U94(active(x0), x1) 460.09/164.17 U94(x0, active(x1)) 460.09/164.17 s(mark(x0)) 460.09/164.17 s(active(x0)) 460.09/164.17 length(mark(x0)) 460.09/164.17 length(active(x0)) 460.09/164.17 460.09/164.17 We have to consider all minimal (P,Q,R)-chains. 460.09/164.17 ---------------------------------------- 460.09/164.17 460.09/164.17 (239) QReductionProof (EQUIVALENT) 460.09/164.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.09/164.17 460.09/164.17 cons(mark(x0), x1) 460.09/164.17 cons(x0, mark(x1)) 460.09/164.17 cons(active(x0), x1) 460.09/164.17 cons(x0, active(x1)) 460.09/164.17 U11(mark(x0), x1) 460.09/164.17 U11(x0, mark(x1)) 460.09/164.17 U11(active(x0), x1) 460.09/164.17 U11(x0, active(x1)) 460.09/164.17 U12(mark(x0), x1) 460.09/164.17 U12(x0, mark(x1)) 460.09/164.17 U12(active(x0), x1) 460.09/164.17 U12(x0, active(x1)) 460.09/164.17 isNatIListKind(mark(x0)) 460.09/164.17 isNatIListKind(active(x0)) 460.09/164.17 U13(mark(x0)) 460.09/164.17 U13(active(x0)) 460.09/164.17 isNatList(mark(x0)) 460.09/164.17 isNatList(active(x0)) 460.09/164.17 U21(mark(x0), x1) 460.09/164.17 U21(x0, mark(x1)) 460.09/164.17 U21(active(x0), x1) 460.09/164.17 U21(x0, active(x1)) 460.09/164.17 U22(mark(x0), x1) 460.09/164.17 U22(x0, mark(x1)) 460.09/164.17 U22(active(x0), x1) 460.09/164.17 U22(x0, active(x1)) 460.09/164.17 isNatKind(mark(x0)) 460.09/164.17 isNatKind(active(x0)) 460.09/164.17 U23(mark(x0)) 460.09/164.17 U23(active(x0)) 460.09/164.17 isNat(mark(x0)) 460.09/164.17 isNat(active(x0)) 460.09/164.17 U31(mark(x0), x1) 460.09/164.17 U31(x0, mark(x1)) 460.09/164.17 U31(active(x0), x1) 460.09/164.17 U31(x0, active(x1)) 460.09/164.17 U32(mark(x0), x1) 460.09/164.17 U32(x0, mark(x1)) 460.09/164.17 U32(active(x0), x1) 460.09/164.17 U32(x0, active(x1)) 460.09/164.17 U33(mark(x0)) 460.09/164.17 U33(active(x0)) 460.09/164.17 U41(mark(x0), x1, x2) 460.09/164.17 U41(x0, mark(x1), x2) 460.09/164.17 U41(x0, x1, mark(x2)) 460.09/164.17 U41(active(x0), x1, x2) 460.09/164.17 U41(x0, active(x1), x2) 460.09/164.17 U41(x0, x1, active(x2)) 460.09/164.17 U42(mark(x0), x1, x2) 460.09/164.17 U42(x0, mark(x1), x2) 460.09/164.17 U42(x0, x1, mark(x2)) 460.09/164.17 U42(active(x0), x1, x2) 460.09/164.17 U42(x0, active(x1), x2) 460.09/164.17 U42(x0, x1, active(x2)) 460.35/164.17 U43(mark(x0), x1, x2) 460.35/164.17 U43(x0, mark(x1), x2) 460.35/164.17 U43(x0, x1, mark(x2)) 460.35/164.17 U43(active(x0), x1, x2) 460.35/164.17 U43(x0, active(x1), x2) 460.35/164.17 U43(x0, x1, active(x2)) 460.35/164.17 U44(mark(x0), x1, x2) 460.35/164.17 U44(x0, mark(x1), x2) 460.35/164.17 U44(x0, x1, mark(x2)) 460.35/164.17 U44(active(x0), x1, x2) 460.35/164.17 U44(x0, active(x1), x2) 460.35/164.17 U44(x0, x1, active(x2)) 460.35/164.17 U45(mark(x0), x1) 460.35/164.17 U45(x0, mark(x1)) 460.35/164.17 U45(active(x0), x1) 460.35/164.17 U45(x0, active(x1)) 460.35/164.17 U46(mark(x0)) 460.35/164.17 U46(active(x0)) 460.35/164.17 isNatIList(mark(x0)) 460.35/164.17 isNatIList(active(x0)) 460.35/164.17 U51(mark(x0), x1) 460.35/164.17 U51(x0, mark(x1)) 460.35/164.17 U51(active(x0), x1) 460.35/164.17 U51(x0, active(x1)) 460.35/164.17 U52(mark(x0)) 460.35/164.17 U52(active(x0)) 460.35/164.17 U61(mark(x0)) 460.35/164.17 U61(active(x0)) 460.35/164.17 U71(mark(x0)) 460.35/164.17 U71(active(x0)) 460.35/164.17 U81(mark(x0), x1, x2) 460.35/164.17 U81(x0, mark(x1), x2) 460.35/164.17 U81(x0, x1, mark(x2)) 460.35/164.17 U81(active(x0), x1, x2) 460.35/164.17 U81(x0, active(x1), x2) 460.35/164.17 U81(x0, x1, active(x2)) 460.35/164.17 U82(mark(x0), x1, x2) 460.35/164.17 U82(x0, mark(x1), x2) 460.35/164.17 U82(x0, x1, mark(x2)) 460.35/164.17 U82(active(x0), x1, x2) 460.35/164.17 U82(x0, active(x1), x2) 460.35/164.17 U82(x0, x1, active(x2)) 460.35/164.17 U83(mark(x0), x1, x2) 460.35/164.17 U83(x0, mark(x1), x2) 460.35/164.17 U83(x0, x1, mark(x2)) 460.35/164.17 U83(active(x0), x1, x2) 460.35/164.17 U83(x0, active(x1), x2) 460.35/164.17 U83(x0, x1, active(x2)) 460.35/164.17 U84(mark(x0), x1, x2) 460.35/164.17 U84(x0, mark(x1), x2) 460.35/164.17 U84(x0, x1, mark(x2)) 460.35/164.17 U84(active(x0), x1, x2) 460.35/164.17 U84(x0, active(x1), x2) 460.35/164.17 U84(x0, x1, active(x2)) 460.35/164.17 U85(mark(x0), x1) 460.35/164.17 U85(x0, mark(x1)) 460.35/164.17 U85(active(x0), x1) 460.35/164.17 U85(x0, active(x1)) 460.35/164.17 U86(mark(x0)) 460.35/164.17 U86(active(x0)) 460.35/164.17 U91(mark(x0), x1, x2) 460.35/164.17 U91(x0, mark(x1), x2) 460.35/164.17 U91(x0, x1, mark(x2)) 460.35/164.17 U91(active(x0), x1, x2) 460.35/164.17 U91(x0, active(x1), x2) 460.35/164.17 U91(x0, x1, active(x2)) 460.35/164.17 U92(mark(x0), x1, x2) 460.35/164.17 U92(x0, mark(x1), x2) 460.35/164.17 U92(x0, x1, mark(x2)) 460.35/164.17 U92(active(x0), x1, x2) 460.35/164.17 U92(x0, active(x1), x2) 460.35/164.17 U92(x0, x1, active(x2)) 460.35/164.17 U93(mark(x0), x1, x2) 460.35/164.17 U93(x0, mark(x1), x2) 460.35/164.17 U93(x0, x1, mark(x2)) 460.35/164.17 U93(active(x0), x1, x2) 460.35/164.17 U93(x0, active(x1), x2) 460.35/164.17 U93(x0, x1, active(x2)) 460.35/164.17 U94(mark(x0), x1) 460.35/164.17 U94(x0, mark(x1)) 460.35/164.17 U94(active(x0), x1) 460.35/164.17 U94(x0, active(x1)) 460.35/164.17 s(mark(x0)) 460.35/164.17 s(active(x0)) 460.35/164.17 length(mark(x0)) 460.35/164.17 length(active(x0)) 460.35/164.17 460.35/164.17 460.35/164.17 ---------------------------------------- 460.35/164.17 460.35/164.17 (240) 460.35/164.17 Obligation: 460.35/164.17 Q DP problem: 460.35/164.17 The TRS P consists of the following rules: 460.35/164.17 460.35/164.17 ISNATILISTKIND(active(X)) -> ISNATILISTKIND(X) 460.35/164.17 ISNATILISTKIND(mark(X)) -> ISNATILISTKIND(X) 460.35/164.17 460.35/164.17 R is empty. 460.35/164.17 The set Q consists of the following terms: 460.35/164.17 460.35/164.17 active(zeros) 460.35/164.17 active(U11(tt, x0)) 460.35/164.17 active(U12(tt, x0)) 460.35/164.17 active(U13(tt)) 460.35/164.17 active(U21(tt, x0)) 460.35/164.17 active(U22(tt, x0)) 460.35/164.17 active(U23(tt)) 460.35/164.17 active(U31(tt, x0)) 460.35/164.17 active(U32(tt, x0)) 460.35/164.17 active(U33(tt)) 460.35/164.17 active(U41(tt, x0, x1)) 460.35/164.17 active(U42(tt, x0, x1)) 460.35/164.17 active(U43(tt, x0, x1)) 460.35/164.17 active(U44(tt, x0, x1)) 460.35/164.17 active(U45(tt, x0)) 460.35/164.17 active(U46(tt)) 460.35/164.17 active(U51(tt, x0)) 460.35/164.17 active(U52(tt)) 460.35/164.17 active(U61(tt)) 460.35/164.17 active(U71(tt)) 460.35/164.17 active(U81(tt, x0, x1)) 460.35/164.17 active(U82(tt, x0, x1)) 460.35/164.17 active(U83(tt, x0, x1)) 460.35/164.17 active(U84(tt, x0, x1)) 460.35/164.17 active(U85(tt, x0)) 460.35/164.17 active(U86(tt)) 460.35/164.17 active(U91(tt, x0, x1)) 460.35/164.17 active(U92(tt, x0, x1)) 460.35/164.17 active(U93(tt, x0, x1)) 460.35/164.17 active(U94(tt, x0)) 460.35/164.17 active(isNat(0)) 460.35/164.17 active(isNat(length(x0))) 460.35/164.17 active(isNat(s(x0))) 460.35/164.17 active(isNatIList(x0)) 460.35/164.17 active(isNatIListKind(nil)) 460.35/164.17 active(isNatIListKind(zeros)) 460.35/164.17 active(isNatIListKind(cons(x0, x1))) 460.35/164.17 active(isNatKind(0)) 460.35/164.17 active(isNatKind(length(x0))) 460.35/164.17 active(isNatKind(s(x0))) 460.35/164.17 active(isNatList(nil)) 460.35/164.17 active(isNatList(cons(x0, x1))) 460.35/164.17 active(length(nil)) 460.35/164.17 active(length(cons(x0, x1))) 460.35/164.17 mark(zeros) 460.35/164.17 mark(cons(x0, x1)) 460.35/164.17 mark(0) 460.35/164.17 mark(U11(x0, x1)) 460.35/164.17 mark(tt) 460.35/164.17 mark(U12(x0, x1)) 460.35/164.17 mark(isNatIListKind(x0)) 460.35/164.17 mark(U13(x0)) 460.35/164.17 mark(isNatList(x0)) 460.35/164.17 mark(U21(x0, x1)) 460.35/164.17 mark(U22(x0, x1)) 460.35/164.17 mark(isNatKind(x0)) 460.35/164.17 mark(U23(x0)) 460.35/164.17 mark(isNat(x0)) 460.35/164.17 mark(U31(x0, x1)) 460.35/164.17 mark(U32(x0, x1)) 460.35/164.17 mark(U33(x0)) 460.35/164.17 mark(U41(x0, x1, x2)) 460.35/164.17 mark(U42(x0, x1, x2)) 460.35/164.17 mark(U43(x0, x1, x2)) 460.35/164.17 mark(U44(x0, x1, x2)) 460.35/164.17 mark(U45(x0, x1)) 460.35/164.17 mark(U46(x0)) 460.35/164.17 mark(isNatIList(x0)) 460.35/164.17 mark(U51(x0, x1)) 460.35/164.17 mark(U52(x0)) 460.35/164.17 mark(U61(x0)) 460.35/164.17 mark(U71(x0)) 460.35/164.17 mark(U81(x0, x1, x2)) 460.35/164.17 mark(U82(x0, x1, x2)) 460.35/164.17 mark(U83(x0, x1, x2)) 460.35/164.17 mark(U84(x0, x1, x2)) 460.35/164.17 mark(U85(x0, x1)) 460.35/164.17 mark(U86(x0)) 460.35/164.17 mark(U91(x0, x1, x2)) 460.35/164.17 mark(U92(x0, x1, x2)) 460.35/164.17 mark(U93(x0, x1, x2)) 460.35/164.17 mark(U94(x0, x1)) 460.35/164.17 mark(s(x0)) 460.35/164.17 mark(length(x0)) 460.35/164.17 mark(nil) 460.35/164.17 460.35/164.17 We have to consider all minimal (P,Q,R)-chains. 460.35/164.17 ---------------------------------------- 460.35/164.17 460.35/164.17 (241) QDPSizeChangeProof (EQUIVALENT) 460.35/164.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.35/164.17 460.35/164.17 From the DPs we obtained the following set of size-change graphs: 460.35/164.17 *ISNATILISTKIND(active(X)) -> ISNATILISTKIND(X) 460.35/164.17 The graph contains the following edges 1 > 1 460.35/164.17 460.35/164.17 460.35/164.17 *ISNATILISTKIND(mark(X)) -> ISNATILISTKIND(X) 460.35/164.17 The graph contains the following edges 1 > 1 460.35/164.17 460.35/164.17 460.35/164.17 ---------------------------------------- 460.35/164.17 460.35/164.17 (242) 460.35/164.17 YES 460.35/164.17 460.35/164.17 ---------------------------------------- 460.35/164.17 460.35/164.17 (243) 460.35/164.17 Obligation: 460.35/164.17 Q DP problem: 460.35/164.17 The TRS P consists of the following rules: 460.35/164.17 460.35/164.17 U12^1(X1, mark(X2)) -> U12^1(X1, X2) 460.35/164.17 U12^1(mark(X1), X2) -> U12^1(X1, X2) 460.35/164.17 U12^1(active(X1), X2) -> U12^1(X1, X2) 460.35/164.17 U12^1(X1, active(X2)) -> U12^1(X1, X2) 460.35/164.17 460.35/164.17 The TRS R consists of the following rules: 460.35/164.17 460.35/164.17 active(zeros) -> mark(cons(0, zeros)) 460.35/164.17 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.17 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.17 active(U13(tt)) -> mark(tt) 460.35/164.17 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.17 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.17 active(U23(tt)) -> mark(tt) 460.35/164.17 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.17 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.17 active(U33(tt)) -> mark(tt) 460.35/164.17 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.17 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.17 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.17 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.17 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.17 active(U46(tt)) -> mark(tt) 460.35/164.17 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.17 active(U52(tt)) -> mark(tt) 460.35/164.17 active(U61(tt)) -> mark(tt) 460.35/164.17 active(U71(tt)) -> mark(tt) 460.35/164.17 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.17 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.17 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.17 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.17 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.17 active(U86(tt)) -> mark(tt) 460.35/164.17 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.17 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.17 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.17 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.17 active(isNat(0)) -> mark(tt) 460.35/164.17 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.17 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.17 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.17 active(isNatIList(zeros)) -> mark(tt) 460.35/164.17 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.17 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.17 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.17 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.17 active(isNatKind(0)) -> mark(tt) 460.35/164.17 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.17 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.17 active(isNatList(nil)) -> mark(tt) 460.35/164.17 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.17 active(length(nil)) -> mark(0) 460.35/164.17 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.17 mark(zeros) -> active(zeros) 460.35/164.17 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.17 mark(0) -> active(0) 460.35/164.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.17 mark(tt) -> active(tt) 460.35/164.17 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.17 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.17 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.17 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.17 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.17 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.17 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.17 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.17 mark(isNat(X)) -> active(isNat(X)) 460.35/164.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.17 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.17 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.17 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.17 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.17 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.17 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.17 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.17 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.17 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.17 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.17 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.17 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.17 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.17 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.17 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.17 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.17 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.17 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.17 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.17 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.17 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.17 mark(s(X)) -> active(s(mark(X))) 460.35/164.17 mark(length(X)) -> active(length(mark(X))) 460.35/164.17 mark(nil) -> active(nil) 460.35/164.17 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.17 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.17 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.17 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.17 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.17 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.17 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.17 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.17 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.17 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.17 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.17 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.17 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.35/164.17 isNatIListKind(active(X)) -> isNatIListKind(X) 460.35/164.17 U13(mark(X)) -> U13(X) 460.35/164.17 U13(active(X)) -> U13(X) 460.35/164.17 isNatList(mark(X)) -> isNatList(X) 460.35/164.17 isNatList(active(X)) -> isNatList(X) 460.35/164.17 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.17 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.17 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.17 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.17 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.17 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.17 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.17 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.17 isNatKind(mark(X)) -> isNatKind(X) 460.35/164.17 isNatKind(active(X)) -> isNatKind(X) 460.35/164.17 U23(mark(X)) -> U23(X) 460.35/164.17 U23(active(X)) -> U23(X) 460.35/164.17 isNat(mark(X)) -> isNat(X) 460.35/164.17 isNat(active(X)) -> isNat(X) 460.35/164.17 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.17 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.17 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.17 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.17 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.17 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.17 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.17 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.17 U33(mark(X)) -> U33(X) 460.35/164.17 U33(active(X)) -> U33(X) 460.35/164.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.17 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.17 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.17 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.17 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.17 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.17 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.17 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.17 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.17 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.17 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.17 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.17 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.17 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.17 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.17 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.17 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.17 U46(mark(X)) -> U46(X) 460.35/164.17 U46(active(X)) -> U46(X) 460.35/164.17 isNatIList(mark(X)) -> isNatIList(X) 460.35/164.17 isNatIList(active(X)) -> isNatIList(X) 460.35/164.17 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.17 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.17 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.17 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.17 U52(mark(X)) -> U52(X) 460.35/164.17 U52(active(X)) -> U52(X) 460.35/164.17 U61(mark(X)) -> U61(X) 460.35/164.17 U61(active(X)) -> U61(X) 460.35/164.17 U71(mark(X)) -> U71(X) 460.35/164.17 U71(active(X)) -> U71(X) 460.35/164.17 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.17 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.17 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.17 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.17 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.17 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.17 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.17 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.17 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.17 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.17 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.17 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.17 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.17 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.17 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.17 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.17 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.17 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.17 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.17 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.17 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.17 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.17 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.17 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.17 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.17 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.17 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.17 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.17 U86(mark(X)) -> U86(X) 460.35/164.17 U86(active(X)) -> U86(X) 460.35/164.17 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.17 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.17 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.17 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.17 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.17 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.17 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.17 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.17 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.17 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.17 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.17 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.17 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.17 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.17 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.17 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.17 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.17 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.17 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.17 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.17 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.17 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.17 s(mark(X)) -> s(X) 460.35/164.17 s(active(X)) -> s(X) 460.35/164.17 length(mark(X)) -> length(X) 460.35/164.17 length(active(X)) -> length(X) 460.35/164.17 460.35/164.17 The set Q consists of the following terms: 460.35/164.17 460.35/164.17 active(zeros) 460.35/164.17 active(U11(tt, x0)) 460.35/164.17 active(U12(tt, x0)) 460.35/164.17 active(U13(tt)) 460.35/164.17 active(U21(tt, x0)) 460.35/164.17 active(U22(tt, x0)) 460.35/164.17 active(U23(tt)) 460.35/164.17 active(U31(tt, x0)) 460.35/164.17 active(U32(tt, x0)) 460.35/164.17 active(U33(tt)) 460.35/164.17 active(U41(tt, x0, x1)) 460.35/164.17 active(U42(tt, x0, x1)) 460.35/164.17 active(U43(tt, x0, x1)) 460.35/164.17 active(U44(tt, x0, x1)) 460.35/164.17 active(U45(tt, x0)) 460.35/164.17 active(U46(tt)) 460.35/164.17 active(U51(tt, x0)) 460.35/164.17 active(U52(tt)) 460.35/164.17 active(U61(tt)) 460.35/164.17 active(U71(tt)) 460.35/164.17 active(U81(tt, x0, x1)) 460.35/164.17 active(U82(tt, x0, x1)) 460.35/164.17 active(U83(tt, x0, x1)) 460.35/164.17 active(U84(tt, x0, x1)) 460.35/164.17 active(U85(tt, x0)) 460.35/164.17 active(U86(tt)) 460.35/164.17 active(U91(tt, x0, x1)) 460.35/164.17 active(U92(tt, x0, x1)) 460.35/164.17 active(U93(tt, x0, x1)) 460.35/164.17 active(U94(tt, x0)) 460.35/164.17 active(isNat(0)) 460.35/164.17 active(isNat(length(x0))) 460.35/164.17 active(isNat(s(x0))) 460.35/164.17 active(isNatIList(x0)) 460.35/164.17 active(isNatIListKind(nil)) 460.35/164.17 active(isNatIListKind(zeros)) 460.35/164.17 active(isNatIListKind(cons(x0, x1))) 460.35/164.17 active(isNatKind(0)) 460.35/164.17 active(isNatKind(length(x0))) 460.35/164.17 active(isNatKind(s(x0))) 460.35/164.17 active(isNatList(nil)) 460.35/164.17 active(isNatList(cons(x0, x1))) 460.35/164.17 active(length(nil)) 460.35/164.17 active(length(cons(x0, x1))) 460.35/164.17 mark(zeros) 460.35/164.17 mark(cons(x0, x1)) 460.35/164.17 mark(0) 460.35/164.17 mark(U11(x0, x1)) 460.35/164.17 mark(tt) 460.35/164.17 mark(U12(x0, x1)) 460.35/164.17 mark(isNatIListKind(x0)) 460.35/164.17 mark(U13(x0)) 460.35/164.17 mark(isNatList(x0)) 460.35/164.17 mark(U21(x0, x1)) 460.35/164.17 mark(U22(x0, x1)) 460.35/164.17 mark(isNatKind(x0)) 460.35/164.17 mark(U23(x0)) 460.35/164.17 mark(isNat(x0)) 460.35/164.17 mark(U31(x0, x1)) 460.35/164.17 mark(U32(x0, x1)) 460.35/164.17 mark(U33(x0)) 460.35/164.17 mark(U41(x0, x1, x2)) 460.35/164.17 mark(U42(x0, x1, x2)) 460.35/164.17 mark(U43(x0, x1, x2)) 460.35/164.17 mark(U44(x0, x1, x2)) 460.35/164.17 mark(U45(x0, x1)) 460.35/164.17 mark(U46(x0)) 460.35/164.17 mark(isNatIList(x0)) 460.35/164.17 mark(U51(x0, x1)) 460.35/164.17 mark(U52(x0)) 460.35/164.17 mark(U61(x0)) 460.35/164.17 mark(U71(x0)) 460.35/164.17 mark(U81(x0, x1, x2)) 460.35/164.17 mark(U82(x0, x1, x2)) 460.35/164.17 mark(U83(x0, x1, x2)) 460.35/164.17 mark(U84(x0, x1, x2)) 460.35/164.17 mark(U85(x0, x1)) 460.35/164.17 mark(U86(x0)) 460.35/164.17 mark(U91(x0, x1, x2)) 460.35/164.17 mark(U92(x0, x1, x2)) 460.35/164.17 mark(U93(x0, x1, x2)) 460.35/164.17 mark(U94(x0, x1)) 460.35/164.17 mark(s(x0)) 460.35/164.17 mark(length(x0)) 460.35/164.17 mark(nil) 460.35/164.17 cons(mark(x0), x1) 460.35/164.17 cons(x0, mark(x1)) 460.35/164.17 cons(active(x0), x1) 460.35/164.17 cons(x0, active(x1)) 460.35/164.17 U11(mark(x0), x1) 460.35/164.17 U11(x0, mark(x1)) 460.35/164.17 U11(active(x0), x1) 460.35/164.17 U11(x0, active(x1)) 460.35/164.17 U12(mark(x0), x1) 460.35/164.17 U12(x0, mark(x1)) 460.35/164.17 U12(active(x0), x1) 460.35/164.17 U12(x0, active(x1)) 460.35/164.17 isNatIListKind(mark(x0)) 460.35/164.17 isNatIListKind(active(x0)) 460.35/164.17 U13(mark(x0)) 460.35/164.17 U13(active(x0)) 460.35/164.17 isNatList(mark(x0)) 460.35/164.17 isNatList(active(x0)) 460.35/164.17 U21(mark(x0), x1) 460.35/164.17 U21(x0, mark(x1)) 460.35/164.17 U21(active(x0), x1) 460.35/164.17 U21(x0, active(x1)) 460.35/164.17 U22(mark(x0), x1) 460.35/164.17 U22(x0, mark(x1)) 460.35/164.17 U22(active(x0), x1) 460.35/164.17 U22(x0, active(x1)) 460.35/164.17 isNatKind(mark(x0)) 460.35/164.17 isNatKind(active(x0)) 460.35/164.17 U23(mark(x0)) 460.35/164.17 U23(active(x0)) 460.35/164.17 isNat(mark(x0)) 460.35/164.17 isNat(active(x0)) 460.35/164.17 U31(mark(x0), x1) 460.35/164.17 U31(x0, mark(x1)) 460.35/164.17 U31(active(x0), x1) 460.35/164.17 U31(x0, active(x1)) 460.35/164.17 U32(mark(x0), x1) 460.35/164.17 U32(x0, mark(x1)) 460.35/164.17 U32(active(x0), x1) 460.35/164.17 U32(x0, active(x1)) 460.35/164.17 U33(mark(x0)) 460.35/164.17 U33(active(x0)) 460.35/164.17 U41(mark(x0), x1, x2) 460.35/164.17 U41(x0, mark(x1), x2) 460.35/164.17 U41(x0, x1, mark(x2)) 460.35/164.17 U41(active(x0), x1, x2) 460.35/164.17 U41(x0, active(x1), x2) 460.35/164.17 U41(x0, x1, active(x2)) 460.35/164.17 U42(mark(x0), x1, x2) 460.35/164.17 U42(x0, mark(x1), x2) 460.35/164.17 U42(x0, x1, mark(x2)) 460.35/164.17 U42(active(x0), x1, x2) 460.35/164.17 U42(x0, active(x1), x2) 460.35/164.17 U42(x0, x1, active(x2)) 460.35/164.17 U43(mark(x0), x1, x2) 460.35/164.17 U43(x0, mark(x1), x2) 460.35/164.17 U43(x0, x1, mark(x2)) 460.35/164.17 U43(active(x0), x1, x2) 460.35/164.17 U43(x0, active(x1), x2) 460.35/164.17 U43(x0, x1, active(x2)) 460.35/164.17 U44(mark(x0), x1, x2) 460.35/164.17 U44(x0, mark(x1), x2) 460.35/164.17 U44(x0, x1, mark(x2)) 460.35/164.17 U44(active(x0), x1, x2) 460.35/164.17 U44(x0, active(x1), x2) 460.35/164.17 U44(x0, x1, active(x2)) 460.35/164.17 U45(mark(x0), x1) 460.35/164.17 U45(x0, mark(x1)) 460.35/164.17 U45(active(x0), x1) 460.35/164.17 U45(x0, active(x1)) 460.35/164.17 U46(mark(x0)) 460.35/164.17 U46(active(x0)) 460.35/164.17 isNatIList(mark(x0)) 460.35/164.17 isNatIList(active(x0)) 460.35/164.17 U51(mark(x0), x1) 460.35/164.17 U51(x0, mark(x1)) 460.35/164.17 U51(active(x0), x1) 460.35/164.17 U51(x0, active(x1)) 460.35/164.17 U52(mark(x0)) 460.35/164.17 U52(active(x0)) 460.35/164.17 U61(mark(x0)) 460.35/164.17 U61(active(x0)) 460.35/164.17 U71(mark(x0)) 460.35/164.17 U71(active(x0)) 460.35/164.17 U81(mark(x0), x1, x2) 460.35/164.17 U81(x0, mark(x1), x2) 460.35/164.17 U81(x0, x1, mark(x2)) 460.35/164.17 U81(active(x0), x1, x2) 460.35/164.17 U81(x0, active(x1), x2) 460.35/164.17 U81(x0, x1, active(x2)) 460.35/164.17 U82(mark(x0), x1, x2) 460.35/164.17 U82(x0, mark(x1), x2) 460.35/164.17 U82(x0, x1, mark(x2)) 460.35/164.17 U82(active(x0), x1, x2) 460.35/164.17 U82(x0, active(x1), x2) 460.35/164.17 U82(x0, x1, active(x2)) 460.35/164.17 U83(mark(x0), x1, x2) 460.35/164.17 U83(x0, mark(x1), x2) 460.35/164.17 U83(x0, x1, mark(x2)) 460.35/164.17 U83(active(x0), x1, x2) 460.35/164.17 U83(x0, active(x1), x2) 460.35/164.17 U83(x0, x1, active(x2)) 460.35/164.17 U84(mark(x0), x1, x2) 460.35/164.17 U84(x0, mark(x1), x2) 460.35/164.17 U84(x0, x1, mark(x2)) 460.35/164.17 U84(active(x0), x1, x2) 460.35/164.17 U84(x0, active(x1), x2) 460.35/164.17 U84(x0, x1, active(x2)) 460.35/164.17 U85(mark(x0), x1) 460.35/164.17 U85(x0, mark(x1)) 460.35/164.17 U85(active(x0), x1) 460.35/164.17 U85(x0, active(x1)) 460.35/164.17 U86(mark(x0)) 460.35/164.17 U86(active(x0)) 460.35/164.17 U91(mark(x0), x1, x2) 460.35/164.17 U91(x0, mark(x1), x2) 460.35/164.17 U91(x0, x1, mark(x2)) 460.35/164.17 U91(active(x0), x1, x2) 460.35/164.17 U91(x0, active(x1), x2) 460.35/164.17 U91(x0, x1, active(x2)) 460.35/164.17 U92(mark(x0), x1, x2) 460.35/164.17 U92(x0, mark(x1), x2) 460.35/164.17 U92(x0, x1, mark(x2)) 460.35/164.17 U92(active(x0), x1, x2) 460.35/164.17 U92(x0, active(x1), x2) 460.35/164.17 U92(x0, x1, active(x2)) 460.35/164.17 U93(mark(x0), x1, x2) 460.35/164.17 U93(x0, mark(x1), x2) 460.35/164.17 U93(x0, x1, mark(x2)) 460.35/164.17 U93(active(x0), x1, x2) 460.35/164.17 U93(x0, active(x1), x2) 460.35/164.17 U93(x0, x1, active(x2)) 460.35/164.17 U94(mark(x0), x1) 460.35/164.17 U94(x0, mark(x1)) 460.35/164.17 U94(active(x0), x1) 460.35/164.17 U94(x0, active(x1)) 460.35/164.17 s(mark(x0)) 460.35/164.17 s(active(x0)) 460.35/164.17 length(mark(x0)) 460.35/164.17 length(active(x0)) 460.35/164.17 460.35/164.17 We have to consider all minimal (P,Q,R)-chains. 460.35/164.17 ---------------------------------------- 460.35/164.17 460.35/164.17 (244) UsableRulesProof (EQUIVALENT) 460.35/164.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (245) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 U12^1(X1, mark(X2)) -> U12^1(X1, X2) 460.35/164.18 U12^1(mark(X1), X2) -> U12^1(X1, X2) 460.35/164.18 U12^1(active(X1), X2) -> U12^1(X1, X2) 460.35/164.18 U12^1(X1, active(X2)) -> U12^1(X1, X2) 460.35/164.18 460.35/164.18 R is empty. 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (246) QReductionProof (EQUIVALENT) 460.35/164.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.35/164.18 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (247) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 U12^1(X1, mark(X2)) -> U12^1(X1, X2) 460.35/164.18 U12^1(mark(X1), X2) -> U12^1(X1, X2) 460.35/164.18 U12^1(active(X1), X2) -> U12^1(X1, X2) 460.35/164.18 U12^1(X1, active(X2)) -> U12^1(X1, X2) 460.35/164.18 460.35/164.18 R is empty. 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (248) QDPSizeChangeProof (EQUIVALENT) 460.35/164.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.35/164.18 460.35/164.18 From the DPs we obtained the following set of size-change graphs: 460.35/164.18 *U12^1(X1, mark(X2)) -> U12^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.18 460.35/164.18 460.35/164.18 *U12^1(mark(X1), X2) -> U12^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.18 460.35/164.18 460.35/164.18 *U12^1(active(X1), X2) -> U12^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.18 460.35/164.18 460.35/164.18 *U12^1(X1, active(X2)) -> U12^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.18 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (249) 460.35/164.18 YES 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (250) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 460.35/164.18 U11^1(mark(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(active(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(X1, active(X2)) -> U11^1(X1, X2) 460.35/164.18 460.35/164.18 The TRS R consists of the following rules: 460.35/164.18 460.35/164.18 active(zeros) -> mark(cons(0, zeros)) 460.35/164.18 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.18 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.18 active(U13(tt)) -> mark(tt) 460.35/164.18 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.18 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.18 active(U23(tt)) -> mark(tt) 460.35/164.18 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.18 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.18 active(U33(tt)) -> mark(tt) 460.35/164.18 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.18 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.18 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.18 active(U46(tt)) -> mark(tt) 460.35/164.18 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.18 active(U52(tt)) -> mark(tt) 460.35/164.18 active(U61(tt)) -> mark(tt) 460.35/164.18 active(U71(tt)) -> mark(tt) 460.35/164.18 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.18 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.18 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.18 active(U86(tt)) -> mark(tt) 460.35/164.18 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.18 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.18 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.18 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.18 active(isNat(0)) -> mark(tt) 460.35/164.18 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.18 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.18 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.18 active(isNatIList(zeros)) -> mark(tt) 460.35/164.18 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.18 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.18 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.18 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.18 active(isNatKind(0)) -> mark(tt) 460.35/164.18 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.18 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.18 active(isNatList(nil)) -> mark(tt) 460.35/164.18 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.18 active(length(nil)) -> mark(0) 460.35/164.18 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.18 mark(zeros) -> active(zeros) 460.35/164.18 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.18 mark(0) -> active(0) 460.35/164.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.18 mark(tt) -> active(tt) 460.35/164.18 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.18 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.18 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.18 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.18 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.18 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.18 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.18 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.18 mark(isNat(X)) -> active(isNat(X)) 460.35/164.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.18 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.18 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.18 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.18 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.18 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.18 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.18 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.18 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.18 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.18 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.18 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.18 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.18 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.18 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.18 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.18 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.18 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.18 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.18 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.18 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.18 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.18 mark(s(X)) -> active(s(mark(X))) 460.35/164.18 mark(length(X)) -> active(length(mark(X))) 460.35/164.18 mark(nil) -> active(nil) 460.35/164.18 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.18 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.18 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.18 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.18 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.18 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.18 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.18 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.18 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.18 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.18 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.18 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.18 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.35/164.18 isNatIListKind(active(X)) -> isNatIListKind(X) 460.35/164.18 U13(mark(X)) -> U13(X) 460.35/164.18 U13(active(X)) -> U13(X) 460.35/164.18 isNatList(mark(X)) -> isNatList(X) 460.35/164.18 isNatList(active(X)) -> isNatList(X) 460.35/164.18 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.18 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.18 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.18 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.18 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.18 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.18 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.18 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.18 isNatKind(mark(X)) -> isNatKind(X) 460.35/164.18 isNatKind(active(X)) -> isNatKind(X) 460.35/164.18 U23(mark(X)) -> U23(X) 460.35/164.18 U23(active(X)) -> U23(X) 460.35/164.18 isNat(mark(X)) -> isNat(X) 460.35/164.18 isNat(active(X)) -> isNat(X) 460.35/164.18 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.18 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.18 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.18 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.18 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.18 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.18 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.18 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.18 U33(mark(X)) -> U33(X) 460.35/164.18 U33(active(X)) -> U33(X) 460.35/164.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.18 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.18 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.18 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.18 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.18 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.18 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.18 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.18 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.18 U46(mark(X)) -> U46(X) 460.35/164.18 U46(active(X)) -> U46(X) 460.35/164.18 isNatIList(mark(X)) -> isNatIList(X) 460.35/164.18 isNatIList(active(X)) -> isNatIList(X) 460.35/164.18 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.18 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.18 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.18 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.18 U52(mark(X)) -> U52(X) 460.35/164.18 U52(active(X)) -> U52(X) 460.35/164.18 U61(mark(X)) -> U61(X) 460.35/164.18 U61(active(X)) -> U61(X) 460.35/164.18 U71(mark(X)) -> U71(X) 460.35/164.18 U71(active(X)) -> U71(X) 460.35/164.18 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.18 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.18 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.18 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.18 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.18 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.18 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.18 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.18 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.18 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.18 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.18 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.18 U86(mark(X)) -> U86(X) 460.35/164.18 U86(active(X)) -> U86(X) 460.35/164.18 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.18 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.18 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.18 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.18 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.18 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.18 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.18 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.18 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.18 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.18 s(mark(X)) -> s(X) 460.35/164.18 s(active(X)) -> s(X) 460.35/164.18 length(mark(X)) -> length(X) 460.35/164.18 length(active(X)) -> length(X) 460.35/164.18 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (251) UsableRulesProof (EQUIVALENT) 460.35/164.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (252) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 460.35/164.18 U11^1(mark(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(active(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(X1, active(X2)) -> U11^1(X1, X2) 460.35/164.18 460.35/164.18 R is empty. 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (253) QReductionProof (EQUIVALENT) 460.35/164.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.35/164.18 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (254) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 460.35/164.18 U11^1(mark(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(active(X1), X2) -> U11^1(X1, X2) 460.35/164.18 U11^1(X1, active(X2)) -> U11^1(X1, X2) 460.35/164.18 460.35/164.18 R is empty. 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (255) QDPSizeChangeProof (EQUIVALENT) 460.35/164.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.35/164.18 460.35/164.18 From the DPs we obtained the following set of size-change graphs: 460.35/164.18 *U11^1(X1, mark(X2)) -> U11^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.18 460.35/164.18 460.35/164.18 *U11^1(mark(X1), X2) -> U11^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.18 460.35/164.18 460.35/164.18 *U11^1(active(X1), X2) -> U11^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.18 460.35/164.18 460.35/164.18 *U11^1(X1, active(X2)) -> U11^1(X1, X2) 460.35/164.18 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.18 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (256) 460.35/164.18 YES 460.35/164.18 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (257) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 CONS(X1, mark(X2)) -> CONS(X1, X2) 460.35/164.18 CONS(mark(X1), X2) -> CONS(X1, X2) 460.35/164.18 CONS(active(X1), X2) -> CONS(X1, X2) 460.35/164.18 CONS(X1, active(X2)) -> CONS(X1, X2) 460.35/164.18 460.35/164.18 The TRS R consists of the following rules: 460.35/164.18 460.35/164.18 active(zeros) -> mark(cons(0, zeros)) 460.35/164.18 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.18 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.18 active(U13(tt)) -> mark(tt) 460.35/164.18 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.18 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.18 active(U23(tt)) -> mark(tt) 460.35/164.18 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.18 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.18 active(U33(tt)) -> mark(tt) 460.35/164.18 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.18 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.18 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.18 active(U46(tt)) -> mark(tt) 460.35/164.18 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.18 active(U52(tt)) -> mark(tt) 460.35/164.18 active(U61(tt)) -> mark(tt) 460.35/164.18 active(U71(tt)) -> mark(tt) 460.35/164.18 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.18 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.18 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.18 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.18 active(U86(tt)) -> mark(tt) 460.35/164.18 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.18 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.18 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.18 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.18 active(isNat(0)) -> mark(tt) 460.35/164.18 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.18 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.18 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.18 active(isNatIList(zeros)) -> mark(tt) 460.35/164.18 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.18 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.18 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.18 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.18 active(isNatKind(0)) -> mark(tt) 460.35/164.18 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.18 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.18 active(isNatList(nil)) -> mark(tt) 460.35/164.18 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.18 active(length(nil)) -> mark(0) 460.35/164.18 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.18 mark(zeros) -> active(zeros) 460.35/164.18 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.18 mark(0) -> active(0) 460.35/164.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.18 mark(tt) -> active(tt) 460.35/164.18 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.18 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.18 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.18 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.18 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.18 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.18 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.18 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.18 mark(isNat(X)) -> active(isNat(X)) 460.35/164.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.18 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.18 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.18 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.18 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.18 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.18 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.18 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.18 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.18 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.18 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.18 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.18 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.18 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.18 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.18 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.18 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.18 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.18 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.18 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.18 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.18 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.18 mark(s(X)) -> active(s(mark(X))) 460.35/164.18 mark(length(X)) -> active(length(mark(X))) 460.35/164.18 mark(nil) -> active(nil) 460.35/164.18 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.18 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.18 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.18 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.18 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.18 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.18 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.18 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.18 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.18 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.18 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.18 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.18 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.35/164.18 isNatIListKind(active(X)) -> isNatIListKind(X) 460.35/164.18 U13(mark(X)) -> U13(X) 460.35/164.18 U13(active(X)) -> U13(X) 460.35/164.18 isNatList(mark(X)) -> isNatList(X) 460.35/164.18 isNatList(active(X)) -> isNatList(X) 460.35/164.18 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.18 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.18 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.18 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.18 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.18 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.18 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.18 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.18 isNatKind(mark(X)) -> isNatKind(X) 460.35/164.18 isNatKind(active(X)) -> isNatKind(X) 460.35/164.18 U23(mark(X)) -> U23(X) 460.35/164.18 U23(active(X)) -> U23(X) 460.35/164.18 isNat(mark(X)) -> isNat(X) 460.35/164.18 isNat(active(X)) -> isNat(X) 460.35/164.18 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.18 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.18 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.18 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.18 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.18 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.18 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.18 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.18 U33(mark(X)) -> U33(X) 460.35/164.18 U33(active(X)) -> U33(X) 460.35/164.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.18 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.18 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.18 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.18 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.18 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.18 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.18 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.18 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.18 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.18 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.18 U46(mark(X)) -> U46(X) 460.35/164.18 U46(active(X)) -> U46(X) 460.35/164.18 isNatIList(mark(X)) -> isNatIList(X) 460.35/164.18 isNatIList(active(X)) -> isNatIList(X) 460.35/164.18 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.18 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.18 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.18 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.18 U52(mark(X)) -> U52(X) 460.35/164.18 U52(active(X)) -> U52(X) 460.35/164.18 U61(mark(X)) -> U61(X) 460.35/164.18 U61(active(X)) -> U61(X) 460.35/164.18 U71(mark(X)) -> U71(X) 460.35/164.18 U71(active(X)) -> U71(X) 460.35/164.18 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.18 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.18 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.18 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.18 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.18 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.18 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.18 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.18 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.18 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.18 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.18 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.18 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.18 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.18 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.18 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.18 U86(mark(X)) -> U86(X) 460.35/164.18 U86(active(X)) -> U86(X) 460.35/164.18 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.18 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.18 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.18 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.18 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.18 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.18 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.18 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.18 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.18 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.18 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.18 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.18 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.18 s(mark(X)) -> s(X) 460.35/164.18 s(active(X)) -> s(X) 460.35/164.18 length(mark(X)) -> length(X) 460.35/164.18 length(active(X)) -> length(X) 460.35/164.18 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.18 U42(x0, mark(x1), x2) 460.35/164.18 U42(x0, x1, mark(x2)) 460.35/164.18 U42(active(x0), x1, x2) 460.35/164.18 U42(x0, active(x1), x2) 460.35/164.18 U42(x0, x1, active(x2)) 460.35/164.18 U43(mark(x0), x1, x2) 460.35/164.18 U43(x0, mark(x1), x2) 460.35/164.18 U43(x0, x1, mark(x2)) 460.35/164.18 U43(active(x0), x1, x2) 460.35/164.18 U43(x0, active(x1), x2) 460.35/164.18 U43(x0, x1, active(x2)) 460.35/164.18 U44(mark(x0), x1, x2) 460.35/164.18 U44(x0, mark(x1), x2) 460.35/164.18 U44(x0, x1, mark(x2)) 460.35/164.18 U44(active(x0), x1, x2) 460.35/164.18 U44(x0, active(x1), x2) 460.35/164.18 U44(x0, x1, active(x2)) 460.35/164.18 U45(mark(x0), x1) 460.35/164.18 U45(x0, mark(x1)) 460.35/164.18 U45(active(x0), x1) 460.35/164.18 U45(x0, active(x1)) 460.35/164.18 U46(mark(x0)) 460.35/164.18 U46(active(x0)) 460.35/164.18 isNatIList(mark(x0)) 460.35/164.18 isNatIList(active(x0)) 460.35/164.18 U51(mark(x0), x1) 460.35/164.18 U51(x0, mark(x1)) 460.35/164.18 U51(active(x0), x1) 460.35/164.18 U51(x0, active(x1)) 460.35/164.18 U52(mark(x0)) 460.35/164.18 U52(active(x0)) 460.35/164.18 U61(mark(x0)) 460.35/164.18 U61(active(x0)) 460.35/164.18 U71(mark(x0)) 460.35/164.18 U71(active(x0)) 460.35/164.18 U81(mark(x0), x1, x2) 460.35/164.18 U81(x0, mark(x1), x2) 460.35/164.18 U81(x0, x1, mark(x2)) 460.35/164.18 U81(active(x0), x1, x2) 460.35/164.18 U81(x0, active(x1), x2) 460.35/164.18 U81(x0, x1, active(x2)) 460.35/164.18 U82(mark(x0), x1, x2) 460.35/164.18 U82(x0, mark(x1), x2) 460.35/164.18 U82(x0, x1, mark(x2)) 460.35/164.18 U82(active(x0), x1, x2) 460.35/164.18 U82(x0, active(x1), x2) 460.35/164.18 U82(x0, x1, active(x2)) 460.35/164.18 U83(mark(x0), x1, x2) 460.35/164.18 U83(x0, mark(x1), x2) 460.35/164.18 U83(x0, x1, mark(x2)) 460.35/164.18 U83(active(x0), x1, x2) 460.35/164.18 U83(x0, active(x1), x2) 460.35/164.18 U83(x0, x1, active(x2)) 460.35/164.18 U84(mark(x0), x1, x2) 460.35/164.18 U84(x0, mark(x1), x2) 460.35/164.18 U84(x0, x1, mark(x2)) 460.35/164.18 U84(active(x0), x1, x2) 460.35/164.18 U84(x0, active(x1), x2) 460.35/164.18 U84(x0, x1, active(x2)) 460.35/164.18 U85(mark(x0), x1) 460.35/164.18 U85(x0, mark(x1)) 460.35/164.18 U85(active(x0), x1) 460.35/164.18 U85(x0, active(x1)) 460.35/164.18 U86(mark(x0)) 460.35/164.18 U86(active(x0)) 460.35/164.18 U91(mark(x0), x1, x2) 460.35/164.18 U91(x0, mark(x1), x2) 460.35/164.18 U91(x0, x1, mark(x2)) 460.35/164.18 U91(active(x0), x1, x2) 460.35/164.18 U91(x0, active(x1), x2) 460.35/164.18 U91(x0, x1, active(x2)) 460.35/164.18 U92(mark(x0), x1, x2) 460.35/164.18 U92(x0, mark(x1), x2) 460.35/164.18 U92(x0, x1, mark(x2)) 460.35/164.18 U92(active(x0), x1, x2) 460.35/164.18 U92(x0, active(x1), x2) 460.35/164.18 U92(x0, x1, active(x2)) 460.35/164.18 U93(mark(x0), x1, x2) 460.35/164.18 U93(x0, mark(x1), x2) 460.35/164.18 U93(x0, x1, mark(x2)) 460.35/164.18 U93(active(x0), x1, x2) 460.35/164.18 U93(x0, active(x1), x2) 460.35/164.18 U93(x0, x1, active(x2)) 460.35/164.18 U94(mark(x0), x1) 460.35/164.18 U94(x0, mark(x1)) 460.35/164.18 U94(active(x0), x1) 460.35/164.18 U94(x0, active(x1)) 460.35/164.18 s(mark(x0)) 460.35/164.18 s(active(x0)) 460.35/164.18 length(mark(x0)) 460.35/164.18 length(active(x0)) 460.35/164.18 460.35/164.18 We have to consider all minimal (P,Q,R)-chains. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (258) UsableRulesProof (EQUIVALENT) 460.35/164.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.35/164.18 ---------------------------------------- 460.35/164.18 460.35/164.18 (259) 460.35/164.18 Obligation: 460.35/164.18 Q DP problem: 460.35/164.18 The TRS P consists of the following rules: 460.35/164.18 460.35/164.18 CONS(X1, mark(X2)) -> CONS(X1, X2) 460.35/164.18 CONS(mark(X1), X2) -> CONS(X1, X2) 460.35/164.18 CONS(active(X1), X2) -> CONS(X1, X2) 460.35/164.18 CONS(X1, active(X2)) -> CONS(X1, X2) 460.35/164.18 460.35/164.18 R is empty. 460.35/164.18 The set Q consists of the following terms: 460.35/164.18 460.35/164.18 active(zeros) 460.35/164.18 active(U11(tt, x0)) 460.35/164.18 active(U12(tt, x0)) 460.35/164.18 active(U13(tt)) 460.35/164.18 active(U21(tt, x0)) 460.35/164.18 active(U22(tt, x0)) 460.35/164.18 active(U23(tt)) 460.35/164.18 active(U31(tt, x0)) 460.35/164.18 active(U32(tt, x0)) 460.35/164.18 active(U33(tt)) 460.35/164.18 active(U41(tt, x0, x1)) 460.35/164.18 active(U42(tt, x0, x1)) 460.35/164.18 active(U43(tt, x0, x1)) 460.35/164.18 active(U44(tt, x0, x1)) 460.35/164.18 active(U45(tt, x0)) 460.35/164.18 active(U46(tt)) 460.35/164.18 active(U51(tt, x0)) 460.35/164.18 active(U52(tt)) 460.35/164.18 active(U61(tt)) 460.35/164.18 active(U71(tt)) 460.35/164.18 active(U81(tt, x0, x1)) 460.35/164.18 active(U82(tt, x0, x1)) 460.35/164.18 active(U83(tt, x0, x1)) 460.35/164.18 active(U84(tt, x0, x1)) 460.35/164.18 active(U85(tt, x0)) 460.35/164.18 active(U86(tt)) 460.35/164.18 active(U91(tt, x0, x1)) 460.35/164.18 active(U92(tt, x0, x1)) 460.35/164.18 active(U93(tt, x0, x1)) 460.35/164.18 active(U94(tt, x0)) 460.35/164.18 active(isNat(0)) 460.35/164.18 active(isNat(length(x0))) 460.35/164.18 active(isNat(s(x0))) 460.35/164.18 active(isNatIList(x0)) 460.35/164.18 active(isNatIListKind(nil)) 460.35/164.18 active(isNatIListKind(zeros)) 460.35/164.18 active(isNatIListKind(cons(x0, x1))) 460.35/164.18 active(isNatKind(0)) 460.35/164.18 active(isNatKind(length(x0))) 460.35/164.18 active(isNatKind(s(x0))) 460.35/164.18 active(isNatList(nil)) 460.35/164.18 active(isNatList(cons(x0, x1))) 460.35/164.18 active(length(nil)) 460.35/164.18 active(length(cons(x0, x1))) 460.35/164.18 mark(zeros) 460.35/164.18 mark(cons(x0, x1)) 460.35/164.18 mark(0) 460.35/164.18 mark(U11(x0, x1)) 460.35/164.18 mark(tt) 460.35/164.18 mark(U12(x0, x1)) 460.35/164.18 mark(isNatIListKind(x0)) 460.35/164.18 mark(U13(x0)) 460.35/164.18 mark(isNatList(x0)) 460.35/164.18 mark(U21(x0, x1)) 460.35/164.18 mark(U22(x0, x1)) 460.35/164.18 mark(isNatKind(x0)) 460.35/164.18 mark(U23(x0)) 460.35/164.18 mark(isNat(x0)) 460.35/164.18 mark(U31(x0, x1)) 460.35/164.18 mark(U32(x0, x1)) 460.35/164.18 mark(U33(x0)) 460.35/164.18 mark(U41(x0, x1, x2)) 460.35/164.18 mark(U42(x0, x1, x2)) 460.35/164.18 mark(U43(x0, x1, x2)) 460.35/164.18 mark(U44(x0, x1, x2)) 460.35/164.18 mark(U45(x0, x1)) 460.35/164.18 mark(U46(x0)) 460.35/164.18 mark(isNatIList(x0)) 460.35/164.18 mark(U51(x0, x1)) 460.35/164.18 mark(U52(x0)) 460.35/164.18 mark(U61(x0)) 460.35/164.18 mark(U71(x0)) 460.35/164.18 mark(U81(x0, x1, x2)) 460.35/164.18 mark(U82(x0, x1, x2)) 460.35/164.18 mark(U83(x0, x1, x2)) 460.35/164.18 mark(U84(x0, x1, x2)) 460.35/164.18 mark(U85(x0, x1)) 460.35/164.18 mark(U86(x0)) 460.35/164.18 mark(U91(x0, x1, x2)) 460.35/164.18 mark(U92(x0, x1, x2)) 460.35/164.18 mark(U93(x0, x1, x2)) 460.35/164.18 mark(U94(x0, x1)) 460.35/164.18 mark(s(x0)) 460.35/164.18 mark(length(x0)) 460.35/164.18 mark(nil) 460.35/164.18 cons(mark(x0), x1) 460.35/164.18 cons(x0, mark(x1)) 460.35/164.18 cons(active(x0), x1) 460.35/164.18 cons(x0, active(x1)) 460.35/164.18 U11(mark(x0), x1) 460.35/164.18 U11(x0, mark(x1)) 460.35/164.18 U11(active(x0), x1) 460.35/164.18 U11(x0, active(x1)) 460.35/164.18 U12(mark(x0), x1) 460.35/164.18 U12(x0, mark(x1)) 460.35/164.18 U12(active(x0), x1) 460.35/164.18 U12(x0, active(x1)) 460.35/164.18 isNatIListKind(mark(x0)) 460.35/164.18 isNatIListKind(active(x0)) 460.35/164.18 U13(mark(x0)) 460.35/164.18 U13(active(x0)) 460.35/164.18 isNatList(mark(x0)) 460.35/164.18 isNatList(active(x0)) 460.35/164.18 U21(mark(x0), x1) 460.35/164.18 U21(x0, mark(x1)) 460.35/164.18 U21(active(x0), x1) 460.35/164.18 U21(x0, active(x1)) 460.35/164.18 U22(mark(x0), x1) 460.35/164.18 U22(x0, mark(x1)) 460.35/164.18 U22(active(x0), x1) 460.35/164.18 U22(x0, active(x1)) 460.35/164.18 isNatKind(mark(x0)) 460.35/164.18 isNatKind(active(x0)) 460.35/164.18 U23(mark(x0)) 460.35/164.18 U23(active(x0)) 460.35/164.18 isNat(mark(x0)) 460.35/164.18 isNat(active(x0)) 460.35/164.18 U31(mark(x0), x1) 460.35/164.18 U31(x0, mark(x1)) 460.35/164.18 U31(active(x0), x1) 460.35/164.18 U31(x0, active(x1)) 460.35/164.18 U32(mark(x0), x1) 460.35/164.18 U32(x0, mark(x1)) 460.35/164.18 U32(active(x0), x1) 460.35/164.18 U32(x0, active(x1)) 460.35/164.18 U33(mark(x0)) 460.35/164.18 U33(active(x0)) 460.35/164.18 U41(mark(x0), x1, x2) 460.35/164.18 U41(x0, mark(x1), x2) 460.35/164.18 U41(x0, x1, mark(x2)) 460.35/164.18 U41(active(x0), x1, x2) 460.35/164.18 U41(x0, active(x1), x2) 460.35/164.18 U41(x0, x1, active(x2)) 460.35/164.18 U42(mark(x0), x1, x2) 460.35/164.19 U42(x0, mark(x1), x2) 460.35/164.19 U42(x0, x1, mark(x2)) 460.35/164.19 U42(active(x0), x1, x2) 460.35/164.19 U42(x0, active(x1), x2) 460.35/164.19 U42(x0, x1, active(x2)) 460.35/164.19 U43(mark(x0), x1, x2) 460.35/164.19 U43(x0, mark(x1), x2) 460.35/164.19 U43(x0, x1, mark(x2)) 460.35/164.19 U43(active(x0), x1, x2) 460.35/164.19 U43(x0, active(x1), x2) 460.35/164.19 U43(x0, x1, active(x2)) 460.35/164.19 U44(mark(x0), x1, x2) 460.35/164.19 U44(x0, mark(x1), x2) 460.35/164.19 U44(x0, x1, mark(x2)) 460.35/164.19 U44(active(x0), x1, x2) 460.35/164.19 U44(x0, active(x1), x2) 460.35/164.19 U44(x0, x1, active(x2)) 460.35/164.19 U45(mark(x0), x1) 460.35/164.19 U45(x0, mark(x1)) 460.35/164.19 U45(active(x0), x1) 460.35/164.19 U45(x0, active(x1)) 460.35/164.19 U46(mark(x0)) 460.35/164.19 U46(active(x0)) 460.35/164.19 isNatIList(mark(x0)) 460.35/164.19 isNatIList(active(x0)) 460.35/164.19 U51(mark(x0), x1) 460.35/164.19 U51(x0, mark(x1)) 460.35/164.19 U51(active(x0), x1) 460.35/164.19 U51(x0, active(x1)) 460.35/164.19 U52(mark(x0)) 460.35/164.19 U52(active(x0)) 460.35/164.19 U61(mark(x0)) 460.35/164.19 U61(active(x0)) 460.35/164.19 U71(mark(x0)) 460.35/164.19 U71(active(x0)) 460.35/164.19 U81(mark(x0), x1, x2) 460.35/164.19 U81(x0, mark(x1), x2) 460.35/164.19 U81(x0, x1, mark(x2)) 460.35/164.19 U81(active(x0), x1, x2) 460.35/164.19 U81(x0, active(x1), x2) 460.35/164.19 U81(x0, x1, active(x2)) 460.35/164.19 U82(mark(x0), x1, x2) 460.35/164.19 U82(x0, mark(x1), x2) 460.35/164.19 U82(x0, x1, mark(x2)) 460.35/164.19 U82(active(x0), x1, x2) 460.35/164.19 U82(x0, active(x1), x2) 460.35/164.19 U82(x0, x1, active(x2)) 460.35/164.19 U83(mark(x0), x1, x2) 460.35/164.19 U83(x0, mark(x1), x2) 460.35/164.19 U83(x0, x1, mark(x2)) 460.35/164.19 U83(active(x0), x1, x2) 460.35/164.19 U83(x0, active(x1), x2) 460.35/164.19 U83(x0, x1, active(x2)) 460.35/164.19 U84(mark(x0), x1, x2) 460.35/164.19 U84(x0, mark(x1), x2) 460.35/164.19 U84(x0, x1, mark(x2)) 460.35/164.19 U84(active(x0), x1, x2) 460.35/164.19 U84(x0, active(x1), x2) 460.35/164.19 U84(x0, x1, active(x2)) 460.35/164.19 U85(mark(x0), x1) 460.35/164.19 U85(x0, mark(x1)) 460.35/164.19 U85(active(x0), x1) 460.35/164.19 U85(x0, active(x1)) 460.35/164.19 U86(mark(x0)) 460.35/164.19 U86(active(x0)) 460.35/164.19 U91(mark(x0), x1, x2) 460.35/164.19 U91(x0, mark(x1), x2) 460.35/164.19 U91(x0, x1, mark(x2)) 460.35/164.19 U91(active(x0), x1, x2) 460.35/164.19 U91(x0, active(x1), x2) 460.35/164.19 U91(x0, x1, active(x2)) 460.35/164.19 U92(mark(x0), x1, x2) 460.35/164.19 U92(x0, mark(x1), x2) 460.35/164.19 U92(x0, x1, mark(x2)) 460.35/164.19 U92(active(x0), x1, x2) 460.35/164.19 U92(x0, active(x1), x2) 460.35/164.19 U92(x0, x1, active(x2)) 460.35/164.19 U93(mark(x0), x1, x2) 460.35/164.19 U93(x0, mark(x1), x2) 460.35/164.19 U93(x0, x1, mark(x2)) 460.35/164.19 U93(active(x0), x1, x2) 460.35/164.19 U93(x0, active(x1), x2) 460.35/164.19 U93(x0, x1, active(x2)) 460.35/164.19 U94(mark(x0), x1) 460.35/164.19 U94(x0, mark(x1)) 460.35/164.19 U94(active(x0), x1) 460.35/164.19 U94(x0, active(x1)) 460.35/164.19 s(mark(x0)) 460.35/164.19 s(active(x0)) 460.35/164.19 length(mark(x0)) 460.35/164.19 length(active(x0)) 460.35/164.19 460.35/164.19 We have to consider all minimal (P,Q,R)-chains. 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (260) QReductionProof (EQUIVALENT) 460.35/164.19 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.35/164.19 460.35/164.19 cons(mark(x0), x1) 460.35/164.19 cons(x0, mark(x1)) 460.35/164.19 cons(active(x0), x1) 460.35/164.19 cons(x0, active(x1)) 460.35/164.19 U11(mark(x0), x1) 460.35/164.19 U11(x0, mark(x1)) 460.35/164.19 U11(active(x0), x1) 460.35/164.19 U11(x0, active(x1)) 460.35/164.19 U12(mark(x0), x1) 460.35/164.19 U12(x0, mark(x1)) 460.35/164.19 U12(active(x0), x1) 460.35/164.19 U12(x0, active(x1)) 460.35/164.19 isNatIListKind(mark(x0)) 460.35/164.19 isNatIListKind(active(x0)) 460.35/164.19 U13(mark(x0)) 460.35/164.19 U13(active(x0)) 460.35/164.19 isNatList(mark(x0)) 460.35/164.19 isNatList(active(x0)) 460.35/164.19 U21(mark(x0), x1) 460.35/164.19 U21(x0, mark(x1)) 460.35/164.19 U21(active(x0), x1) 460.35/164.19 U21(x0, active(x1)) 460.35/164.19 U22(mark(x0), x1) 460.35/164.19 U22(x0, mark(x1)) 460.35/164.19 U22(active(x0), x1) 460.35/164.19 U22(x0, active(x1)) 460.35/164.19 isNatKind(mark(x0)) 460.35/164.19 isNatKind(active(x0)) 460.35/164.19 U23(mark(x0)) 460.35/164.19 U23(active(x0)) 460.35/164.19 isNat(mark(x0)) 460.35/164.19 isNat(active(x0)) 460.35/164.19 U31(mark(x0), x1) 460.35/164.19 U31(x0, mark(x1)) 460.35/164.19 U31(active(x0), x1) 460.35/164.19 U31(x0, active(x1)) 460.35/164.19 U32(mark(x0), x1) 460.35/164.19 U32(x0, mark(x1)) 460.35/164.19 U32(active(x0), x1) 460.35/164.19 U32(x0, active(x1)) 460.35/164.19 U33(mark(x0)) 460.35/164.19 U33(active(x0)) 460.35/164.19 U41(mark(x0), x1, x2) 460.35/164.19 U41(x0, mark(x1), x2) 460.35/164.19 U41(x0, x1, mark(x2)) 460.35/164.19 U41(active(x0), x1, x2) 460.35/164.19 U41(x0, active(x1), x2) 460.35/164.19 U41(x0, x1, active(x2)) 460.35/164.19 U42(mark(x0), x1, x2) 460.35/164.19 U42(x0, mark(x1), x2) 460.35/164.19 U42(x0, x1, mark(x2)) 460.35/164.19 U42(active(x0), x1, x2) 460.35/164.19 U42(x0, active(x1), x2) 460.35/164.19 U42(x0, x1, active(x2)) 460.35/164.19 U43(mark(x0), x1, x2) 460.35/164.19 U43(x0, mark(x1), x2) 460.35/164.19 U43(x0, x1, mark(x2)) 460.35/164.19 U43(active(x0), x1, x2) 460.35/164.19 U43(x0, active(x1), x2) 460.35/164.19 U43(x0, x1, active(x2)) 460.35/164.19 U44(mark(x0), x1, x2) 460.35/164.19 U44(x0, mark(x1), x2) 460.35/164.19 U44(x0, x1, mark(x2)) 460.35/164.19 U44(active(x0), x1, x2) 460.35/164.19 U44(x0, active(x1), x2) 460.35/164.19 U44(x0, x1, active(x2)) 460.35/164.19 U45(mark(x0), x1) 460.35/164.19 U45(x0, mark(x1)) 460.35/164.19 U45(active(x0), x1) 460.35/164.19 U45(x0, active(x1)) 460.35/164.19 U46(mark(x0)) 460.35/164.19 U46(active(x0)) 460.35/164.19 isNatIList(mark(x0)) 460.35/164.19 isNatIList(active(x0)) 460.35/164.19 U51(mark(x0), x1) 460.35/164.19 U51(x0, mark(x1)) 460.35/164.19 U51(active(x0), x1) 460.35/164.19 U51(x0, active(x1)) 460.35/164.19 U52(mark(x0)) 460.35/164.19 U52(active(x0)) 460.35/164.19 U61(mark(x0)) 460.35/164.19 U61(active(x0)) 460.35/164.19 U71(mark(x0)) 460.35/164.19 U71(active(x0)) 460.35/164.19 U81(mark(x0), x1, x2) 460.35/164.19 U81(x0, mark(x1), x2) 460.35/164.19 U81(x0, x1, mark(x2)) 460.35/164.19 U81(active(x0), x1, x2) 460.35/164.19 U81(x0, active(x1), x2) 460.35/164.19 U81(x0, x1, active(x2)) 460.35/164.19 U82(mark(x0), x1, x2) 460.35/164.19 U82(x0, mark(x1), x2) 460.35/164.19 U82(x0, x1, mark(x2)) 460.35/164.19 U82(active(x0), x1, x2) 460.35/164.19 U82(x0, active(x1), x2) 460.35/164.19 U82(x0, x1, active(x2)) 460.35/164.19 U83(mark(x0), x1, x2) 460.35/164.19 U83(x0, mark(x1), x2) 460.35/164.19 U83(x0, x1, mark(x2)) 460.35/164.19 U83(active(x0), x1, x2) 460.35/164.19 U83(x0, active(x1), x2) 460.35/164.19 U83(x0, x1, active(x2)) 460.35/164.19 U84(mark(x0), x1, x2) 460.35/164.19 U84(x0, mark(x1), x2) 460.35/164.19 U84(x0, x1, mark(x2)) 460.35/164.19 U84(active(x0), x1, x2) 460.35/164.19 U84(x0, active(x1), x2) 460.35/164.19 U84(x0, x1, active(x2)) 460.35/164.19 U85(mark(x0), x1) 460.35/164.19 U85(x0, mark(x1)) 460.35/164.19 U85(active(x0), x1) 460.35/164.19 U85(x0, active(x1)) 460.35/164.19 U86(mark(x0)) 460.35/164.19 U86(active(x0)) 460.35/164.19 U91(mark(x0), x1, x2) 460.35/164.19 U91(x0, mark(x1), x2) 460.35/164.19 U91(x0, x1, mark(x2)) 460.35/164.19 U91(active(x0), x1, x2) 460.35/164.19 U91(x0, active(x1), x2) 460.35/164.19 U91(x0, x1, active(x2)) 460.35/164.19 U92(mark(x0), x1, x2) 460.35/164.19 U92(x0, mark(x1), x2) 460.35/164.19 U92(x0, x1, mark(x2)) 460.35/164.19 U92(active(x0), x1, x2) 460.35/164.19 U92(x0, active(x1), x2) 460.35/164.19 U92(x0, x1, active(x2)) 460.35/164.19 U93(mark(x0), x1, x2) 460.35/164.19 U93(x0, mark(x1), x2) 460.35/164.19 U93(x0, x1, mark(x2)) 460.35/164.19 U93(active(x0), x1, x2) 460.35/164.19 U93(x0, active(x1), x2) 460.35/164.19 U93(x0, x1, active(x2)) 460.35/164.19 U94(mark(x0), x1) 460.35/164.19 U94(x0, mark(x1)) 460.35/164.19 U94(active(x0), x1) 460.35/164.19 U94(x0, active(x1)) 460.35/164.19 s(mark(x0)) 460.35/164.19 s(active(x0)) 460.35/164.19 length(mark(x0)) 460.35/164.19 length(active(x0)) 460.35/164.19 460.35/164.19 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (261) 460.35/164.19 Obligation: 460.35/164.19 Q DP problem: 460.35/164.19 The TRS P consists of the following rules: 460.35/164.19 460.35/164.19 CONS(X1, mark(X2)) -> CONS(X1, X2) 460.35/164.19 CONS(mark(X1), X2) -> CONS(X1, X2) 460.35/164.19 CONS(active(X1), X2) -> CONS(X1, X2) 460.35/164.19 CONS(X1, active(X2)) -> CONS(X1, X2) 460.35/164.19 460.35/164.19 R is empty. 460.35/164.19 The set Q consists of the following terms: 460.35/164.19 460.35/164.19 active(zeros) 460.35/164.19 active(U11(tt, x0)) 460.35/164.19 active(U12(tt, x0)) 460.35/164.19 active(U13(tt)) 460.35/164.19 active(U21(tt, x0)) 460.35/164.19 active(U22(tt, x0)) 460.35/164.19 active(U23(tt)) 460.35/164.19 active(U31(tt, x0)) 460.35/164.19 active(U32(tt, x0)) 460.35/164.19 active(U33(tt)) 460.35/164.19 active(U41(tt, x0, x1)) 460.35/164.19 active(U42(tt, x0, x1)) 460.35/164.19 active(U43(tt, x0, x1)) 460.35/164.19 active(U44(tt, x0, x1)) 460.35/164.19 active(U45(tt, x0)) 460.35/164.19 active(U46(tt)) 460.35/164.19 active(U51(tt, x0)) 460.35/164.19 active(U52(tt)) 460.35/164.19 active(U61(tt)) 460.35/164.19 active(U71(tt)) 460.35/164.19 active(U81(tt, x0, x1)) 460.35/164.19 active(U82(tt, x0, x1)) 460.35/164.19 active(U83(tt, x0, x1)) 460.35/164.19 active(U84(tt, x0, x1)) 460.35/164.19 active(U85(tt, x0)) 460.35/164.19 active(U86(tt)) 460.35/164.19 active(U91(tt, x0, x1)) 460.35/164.19 active(U92(tt, x0, x1)) 460.35/164.19 active(U93(tt, x0, x1)) 460.35/164.19 active(U94(tt, x0)) 460.35/164.19 active(isNat(0)) 460.35/164.19 active(isNat(length(x0))) 460.35/164.19 active(isNat(s(x0))) 460.35/164.19 active(isNatIList(x0)) 460.35/164.19 active(isNatIListKind(nil)) 460.35/164.19 active(isNatIListKind(zeros)) 460.35/164.19 active(isNatIListKind(cons(x0, x1))) 460.35/164.19 active(isNatKind(0)) 460.35/164.19 active(isNatKind(length(x0))) 460.35/164.19 active(isNatKind(s(x0))) 460.35/164.19 active(isNatList(nil)) 460.35/164.19 active(isNatList(cons(x0, x1))) 460.35/164.19 active(length(nil)) 460.35/164.19 active(length(cons(x0, x1))) 460.35/164.19 mark(zeros) 460.35/164.19 mark(cons(x0, x1)) 460.35/164.19 mark(0) 460.35/164.19 mark(U11(x0, x1)) 460.35/164.19 mark(tt) 460.35/164.19 mark(U12(x0, x1)) 460.35/164.19 mark(isNatIListKind(x0)) 460.35/164.19 mark(U13(x0)) 460.35/164.19 mark(isNatList(x0)) 460.35/164.19 mark(U21(x0, x1)) 460.35/164.19 mark(U22(x0, x1)) 460.35/164.19 mark(isNatKind(x0)) 460.35/164.19 mark(U23(x0)) 460.35/164.19 mark(isNat(x0)) 460.35/164.19 mark(U31(x0, x1)) 460.35/164.19 mark(U32(x0, x1)) 460.35/164.19 mark(U33(x0)) 460.35/164.19 mark(U41(x0, x1, x2)) 460.35/164.19 mark(U42(x0, x1, x2)) 460.35/164.19 mark(U43(x0, x1, x2)) 460.35/164.19 mark(U44(x0, x1, x2)) 460.35/164.19 mark(U45(x0, x1)) 460.35/164.19 mark(U46(x0)) 460.35/164.19 mark(isNatIList(x0)) 460.35/164.19 mark(U51(x0, x1)) 460.35/164.19 mark(U52(x0)) 460.35/164.19 mark(U61(x0)) 460.35/164.19 mark(U71(x0)) 460.35/164.19 mark(U81(x0, x1, x2)) 460.35/164.19 mark(U82(x0, x1, x2)) 460.35/164.19 mark(U83(x0, x1, x2)) 460.35/164.19 mark(U84(x0, x1, x2)) 460.35/164.19 mark(U85(x0, x1)) 460.35/164.19 mark(U86(x0)) 460.35/164.19 mark(U91(x0, x1, x2)) 460.35/164.19 mark(U92(x0, x1, x2)) 460.35/164.19 mark(U93(x0, x1, x2)) 460.35/164.19 mark(U94(x0, x1)) 460.35/164.19 mark(s(x0)) 460.35/164.19 mark(length(x0)) 460.35/164.19 mark(nil) 460.35/164.19 460.35/164.19 We have to consider all minimal (P,Q,R)-chains. 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (262) QDPSizeChangeProof (EQUIVALENT) 460.35/164.19 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. 460.35/164.19 460.35/164.19 From the DPs we obtained the following set of size-change graphs: 460.35/164.19 *CONS(X1, mark(X2)) -> CONS(X1, X2) 460.35/164.19 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.19 460.35/164.19 460.35/164.19 *CONS(mark(X1), X2) -> CONS(X1, X2) 460.35/164.19 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.19 460.35/164.19 460.35/164.19 *CONS(active(X1), X2) -> CONS(X1, X2) 460.35/164.19 The graph contains the following edges 1 > 1, 2 >= 2 460.35/164.19 460.35/164.19 460.35/164.19 *CONS(X1, active(X2)) -> CONS(X1, X2) 460.35/164.19 The graph contains the following edges 1 >= 1, 2 > 2 460.35/164.19 460.35/164.19 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (263) 460.35/164.19 YES 460.35/164.19 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (264) 460.35/164.19 Obligation: 460.35/164.19 Q DP problem: 460.35/164.19 The TRS P consists of the following rules: 460.35/164.19 460.35/164.19 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 460.35/164.19 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.19 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.19 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.19 MARK(U13(X)) -> ACTIVE(U13(mark(X))) 460.35/164.19 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.19 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.19 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.19 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 460.35/164.19 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.19 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.19 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.19 MARK(U33(X)) -> ACTIVE(U33(mark(X))) 460.35/164.19 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.19 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.19 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.19 MARK(U46(X)) -> ACTIVE(U46(mark(X))) 460.35/164.19 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.19 MARK(U52(X)) -> ACTIVE(U52(mark(X))) 460.35/164.19 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.19 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.19 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.19 MARK(U86(X)) -> ACTIVE(U86(mark(X))) 460.35/164.19 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.19 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.19 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.19 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.19 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.19 MARK(s(X)) -> ACTIVE(s(mark(X))) 460.35/164.19 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(zeros) -> ACTIVE(zeros) 460.35/164.19 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.19 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.19 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.19 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.19 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.19 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U13(X)) -> MARK(X) 460.35/164.19 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.19 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.19 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.19 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.19 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 460.35/164.19 MARK(U61(X)) -> MARK(X) 460.35/164.19 MARK(U23(X)) -> MARK(X) 460.35/164.19 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.19 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.19 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.19 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.19 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U33(X)) -> MARK(X) 460.35/164.19 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.19 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U46(X)) -> MARK(X) 460.35/164.19 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.19 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.19 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U52(X)) -> MARK(X) 460.35/164.19 MARK(U71(X)) -> ACTIVE(U71(mark(X))) 460.35/164.19 MARK(U71(X)) -> MARK(X) 460.35/164.19 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U86(X)) -> MARK(X) 460.35/164.19 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(s(X)) -> MARK(X) 460.35/164.19 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.19 MARK(length(X)) -> MARK(X) 460.35/164.19 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.19 460.35/164.19 The TRS R consists of the following rules: 460.35/164.19 460.35/164.19 active(zeros) -> mark(cons(0, zeros)) 460.35/164.19 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.19 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.19 active(U13(tt)) -> mark(tt) 460.35/164.19 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.19 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.19 active(U23(tt)) -> mark(tt) 460.35/164.19 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.19 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.19 active(U33(tt)) -> mark(tt) 460.35/164.19 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.19 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.19 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.19 active(U46(tt)) -> mark(tt) 460.35/164.19 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.19 active(U52(tt)) -> mark(tt) 460.35/164.19 active(U61(tt)) -> mark(tt) 460.35/164.19 active(U71(tt)) -> mark(tt) 460.35/164.19 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.19 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.19 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.19 active(U86(tt)) -> mark(tt) 460.35/164.19 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.19 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.19 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.19 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.19 active(isNat(0)) -> mark(tt) 460.35/164.19 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.19 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.19 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.19 active(isNatIList(zeros)) -> mark(tt) 460.35/164.19 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.19 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.19 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.19 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.19 active(isNatKind(0)) -> mark(tt) 460.35/164.19 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.19 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.19 active(isNatList(nil)) -> mark(tt) 460.35/164.19 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.19 active(length(nil)) -> mark(0) 460.35/164.19 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.19 mark(zeros) -> active(zeros) 460.35/164.19 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.19 mark(0) -> active(0) 460.35/164.19 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.19 mark(tt) -> active(tt) 460.35/164.19 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.19 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.19 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.19 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.19 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.19 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.19 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.19 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.19 mark(isNat(X)) -> active(isNat(X)) 460.35/164.19 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.19 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.19 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.19 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.19 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.19 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.19 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.19 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.19 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.19 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.19 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.19 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.19 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.19 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.19 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.19 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.19 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.19 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.19 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.19 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.19 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.19 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.19 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.19 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.19 mark(s(X)) -> active(s(mark(X))) 460.35/164.19 mark(length(X)) -> active(length(mark(X))) 460.35/164.19 mark(nil) -> active(nil) 460.35/164.19 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.19 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.19 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.19 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.19 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.19 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.19 isNatIListKind(mark(X)) -> isNatIListKind(X) 460.35/164.19 isNatIListKind(active(X)) -> isNatIListKind(X) 460.35/164.19 U13(mark(X)) -> U13(X) 460.35/164.19 U13(active(X)) -> U13(X) 460.35/164.19 isNatList(mark(X)) -> isNatList(X) 460.35/164.19 isNatList(active(X)) -> isNatList(X) 460.35/164.19 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.19 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.19 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.19 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.19 isNatKind(mark(X)) -> isNatKind(X) 460.35/164.19 isNatKind(active(X)) -> isNatKind(X) 460.35/164.19 U23(mark(X)) -> U23(X) 460.35/164.19 U23(active(X)) -> U23(X) 460.35/164.19 isNat(mark(X)) -> isNat(X) 460.35/164.19 isNat(active(X)) -> isNat(X) 460.35/164.19 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.19 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.19 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.19 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.19 U33(mark(X)) -> U33(X) 460.35/164.19 U33(active(X)) -> U33(X) 460.35/164.19 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.19 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.19 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.19 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.19 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.19 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.19 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.19 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.19 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.19 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.19 U46(mark(X)) -> U46(X) 460.35/164.19 U46(active(X)) -> U46(X) 460.35/164.19 isNatIList(mark(X)) -> isNatIList(X) 460.35/164.19 isNatIList(active(X)) -> isNatIList(X) 460.35/164.19 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.19 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.19 U52(mark(X)) -> U52(X) 460.35/164.19 U52(active(X)) -> U52(X) 460.35/164.19 U61(mark(X)) -> U61(X) 460.35/164.19 U61(active(X)) -> U61(X) 460.35/164.19 U71(mark(X)) -> U71(X) 460.35/164.19 U71(active(X)) -> U71(X) 460.35/164.19 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.19 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.19 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.19 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.19 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.19 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.19 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.19 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.19 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.19 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.19 U86(mark(X)) -> U86(X) 460.35/164.19 U86(active(X)) -> U86(X) 460.35/164.19 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.19 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.19 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.19 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.19 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.19 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.19 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.19 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.19 s(mark(X)) -> s(X) 460.35/164.19 s(active(X)) -> s(X) 460.35/164.19 length(mark(X)) -> length(X) 460.35/164.19 length(active(X)) -> length(X) 460.35/164.19 460.35/164.19 The set Q consists of the following terms: 460.35/164.19 460.35/164.19 active(zeros) 460.35/164.19 active(U11(tt, x0)) 460.35/164.19 active(U12(tt, x0)) 460.35/164.19 active(U13(tt)) 460.35/164.19 active(U21(tt, x0)) 460.35/164.19 active(U22(tt, x0)) 460.35/164.19 active(U23(tt)) 460.35/164.19 active(U31(tt, x0)) 460.35/164.19 active(U32(tt, x0)) 460.35/164.19 active(U33(tt)) 460.35/164.19 active(U41(tt, x0, x1)) 460.35/164.19 active(U42(tt, x0, x1)) 460.35/164.19 active(U43(tt, x0, x1)) 460.35/164.19 active(U44(tt, x0, x1)) 460.35/164.19 active(U45(tt, x0)) 460.35/164.19 active(U46(tt)) 460.35/164.19 active(U51(tt, x0)) 460.35/164.19 active(U52(tt)) 460.35/164.19 active(U61(tt)) 460.35/164.19 active(U71(tt)) 460.35/164.19 active(U81(tt, x0, x1)) 460.35/164.19 active(U82(tt, x0, x1)) 460.35/164.19 active(U83(tt, x0, x1)) 460.35/164.19 active(U84(tt, x0, x1)) 460.35/164.19 active(U85(tt, x0)) 460.35/164.19 active(U86(tt)) 460.35/164.19 active(U91(tt, x0, x1)) 460.35/164.19 active(U92(tt, x0, x1)) 460.35/164.19 active(U93(tt, x0, x1)) 460.35/164.19 active(U94(tt, x0)) 460.35/164.19 active(isNat(0)) 460.35/164.19 active(isNat(length(x0))) 460.35/164.19 active(isNat(s(x0))) 460.35/164.19 active(isNatIList(x0)) 460.35/164.19 active(isNatIListKind(nil)) 460.35/164.19 active(isNatIListKind(zeros)) 460.35/164.19 active(isNatIListKind(cons(x0, x1))) 460.35/164.19 active(isNatKind(0)) 460.35/164.19 active(isNatKind(length(x0))) 460.35/164.19 active(isNatKind(s(x0))) 460.35/164.19 active(isNatList(nil)) 460.35/164.19 active(isNatList(cons(x0, x1))) 460.35/164.19 active(length(nil)) 460.35/164.19 active(length(cons(x0, x1))) 460.35/164.19 mark(zeros) 460.35/164.19 mark(cons(x0, x1)) 460.35/164.19 mark(0) 460.35/164.19 mark(U11(x0, x1)) 460.35/164.19 mark(tt) 460.35/164.19 mark(U12(x0, x1)) 460.35/164.19 mark(isNatIListKind(x0)) 460.35/164.19 mark(U13(x0)) 460.35/164.19 mark(isNatList(x0)) 460.35/164.19 mark(U21(x0, x1)) 460.35/164.19 mark(U22(x0, x1)) 460.35/164.19 mark(isNatKind(x0)) 460.35/164.19 mark(U23(x0)) 460.35/164.19 mark(isNat(x0)) 460.35/164.19 mark(U31(x0, x1)) 460.35/164.19 mark(U32(x0, x1)) 460.35/164.19 mark(U33(x0)) 460.35/164.19 mark(U41(x0, x1, x2)) 460.35/164.19 mark(U42(x0, x1, x2)) 460.35/164.19 mark(U43(x0, x1, x2)) 460.35/164.19 mark(U44(x0, x1, x2)) 460.35/164.19 mark(U45(x0, x1)) 460.35/164.19 mark(U46(x0)) 460.35/164.19 mark(isNatIList(x0)) 460.35/164.19 mark(U51(x0, x1)) 460.35/164.19 mark(U52(x0)) 460.35/164.19 mark(U61(x0)) 460.35/164.19 mark(U71(x0)) 460.35/164.19 mark(U81(x0, x1, x2)) 460.35/164.19 mark(U82(x0, x1, x2)) 460.35/164.19 mark(U83(x0, x1, x2)) 460.35/164.19 mark(U84(x0, x1, x2)) 460.35/164.19 mark(U85(x0, x1)) 460.35/164.19 mark(U86(x0)) 460.35/164.19 mark(U91(x0, x1, x2)) 460.35/164.19 mark(U92(x0, x1, x2)) 460.35/164.19 mark(U93(x0, x1, x2)) 460.35/164.19 mark(U94(x0, x1)) 460.35/164.19 mark(s(x0)) 460.35/164.19 mark(length(x0)) 460.35/164.19 mark(nil) 460.35/164.19 cons(mark(x0), x1) 460.35/164.19 cons(x0, mark(x1)) 460.35/164.19 cons(active(x0), x1) 460.35/164.19 cons(x0, active(x1)) 460.35/164.19 U11(mark(x0), x1) 460.35/164.19 U11(x0, mark(x1)) 460.35/164.19 U11(active(x0), x1) 460.35/164.19 U11(x0, active(x1)) 460.35/164.19 U12(mark(x0), x1) 460.35/164.19 U12(x0, mark(x1)) 460.35/164.19 U12(active(x0), x1) 460.35/164.19 U12(x0, active(x1)) 460.35/164.19 isNatIListKind(mark(x0)) 460.35/164.19 isNatIListKind(active(x0)) 460.35/164.19 U13(mark(x0)) 460.35/164.19 U13(active(x0)) 460.35/164.19 isNatList(mark(x0)) 460.35/164.19 isNatList(active(x0)) 460.35/164.19 U21(mark(x0), x1) 460.35/164.19 U21(x0, mark(x1)) 460.35/164.19 U21(active(x0), x1) 460.35/164.19 U21(x0, active(x1)) 460.35/164.19 U22(mark(x0), x1) 460.35/164.19 U22(x0, mark(x1)) 460.35/164.19 U22(active(x0), x1) 460.35/164.19 U22(x0, active(x1)) 460.35/164.19 isNatKind(mark(x0)) 460.35/164.19 isNatKind(active(x0)) 460.35/164.19 U23(mark(x0)) 460.35/164.19 U23(active(x0)) 460.35/164.19 isNat(mark(x0)) 460.35/164.19 isNat(active(x0)) 460.35/164.19 U31(mark(x0), x1) 460.35/164.19 U31(x0, mark(x1)) 460.35/164.19 U31(active(x0), x1) 460.35/164.19 U31(x0, active(x1)) 460.35/164.19 U32(mark(x0), x1) 460.35/164.19 U32(x0, mark(x1)) 460.35/164.19 U32(active(x0), x1) 460.35/164.19 U32(x0, active(x1)) 460.35/164.19 U33(mark(x0)) 460.35/164.19 U33(active(x0)) 460.35/164.19 U41(mark(x0), x1, x2) 460.35/164.19 U41(x0, mark(x1), x2) 460.35/164.19 U41(x0, x1, mark(x2)) 460.35/164.19 U41(active(x0), x1, x2) 460.35/164.19 U41(x0, active(x1), x2) 460.35/164.19 U41(x0, x1, active(x2)) 460.35/164.19 U42(mark(x0), x1, x2) 460.35/164.19 U42(x0, mark(x1), x2) 460.35/164.19 U42(x0, x1, mark(x2)) 460.35/164.19 U42(active(x0), x1, x2) 460.35/164.19 U42(x0, active(x1), x2) 460.35/164.19 U42(x0, x1, active(x2)) 460.35/164.19 U43(mark(x0), x1, x2) 460.35/164.19 U43(x0, mark(x1), x2) 460.35/164.19 U43(x0, x1, mark(x2)) 460.35/164.19 U43(active(x0), x1, x2) 460.35/164.19 U43(x0, active(x1), x2) 460.35/164.19 U43(x0, x1, active(x2)) 460.35/164.19 U44(mark(x0), x1, x2) 460.35/164.19 U44(x0, mark(x1), x2) 460.35/164.19 U44(x0, x1, mark(x2)) 460.35/164.19 U44(active(x0), x1, x2) 460.35/164.19 U44(x0, active(x1), x2) 460.35/164.19 U44(x0, x1, active(x2)) 460.35/164.19 U45(mark(x0), x1) 460.35/164.19 U45(x0, mark(x1)) 460.35/164.19 U45(active(x0), x1) 460.35/164.19 U45(x0, active(x1)) 460.35/164.19 U46(mark(x0)) 460.35/164.19 U46(active(x0)) 460.35/164.19 isNatIList(mark(x0)) 460.35/164.19 isNatIList(active(x0)) 460.35/164.19 U51(mark(x0), x1) 460.35/164.19 U51(x0, mark(x1)) 460.35/164.19 U51(active(x0), x1) 460.35/164.19 U51(x0, active(x1)) 460.35/164.19 U52(mark(x0)) 460.35/164.19 U52(active(x0)) 460.35/164.19 U61(mark(x0)) 460.35/164.19 U61(active(x0)) 460.35/164.19 U71(mark(x0)) 460.35/164.19 U71(active(x0)) 460.35/164.19 U81(mark(x0), x1, x2) 460.35/164.19 U81(x0, mark(x1), x2) 460.35/164.19 U81(x0, x1, mark(x2)) 460.35/164.19 U81(active(x0), x1, x2) 460.35/164.19 U81(x0, active(x1), x2) 460.35/164.19 U81(x0, x1, active(x2)) 460.35/164.19 U82(mark(x0), x1, x2) 460.35/164.19 U82(x0, mark(x1), x2) 460.35/164.19 U82(x0, x1, mark(x2)) 460.35/164.19 U82(active(x0), x1, x2) 460.35/164.19 U82(x0, active(x1), x2) 460.35/164.19 U82(x0, x1, active(x2)) 460.35/164.19 U83(mark(x0), x1, x2) 460.35/164.19 U83(x0, mark(x1), x2) 460.35/164.19 U83(x0, x1, mark(x2)) 460.35/164.19 U83(active(x0), x1, x2) 460.35/164.19 U83(x0, active(x1), x2) 460.35/164.19 U83(x0, x1, active(x2)) 460.35/164.19 U84(mark(x0), x1, x2) 460.35/164.19 U84(x0, mark(x1), x2) 460.35/164.19 U84(x0, x1, mark(x2)) 460.35/164.19 U84(active(x0), x1, x2) 460.35/164.19 U84(x0, active(x1), x2) 460.35/164.19 U84(x0, x1, active(x2)) 460.35/164.19 U85(mark(x0), x1) 460.35/164.19 U85(x0, mark(x1)) 460.35/164.19 U85(active(x0), x1) 460.35/164.19 U85(x0, active(x1)) 460.35/164.19 U86(mark(x0)) 460.35/164.19 U86(active(x0)) 460.35/164.19 U91(mark(x0), x1, x2) 460.35/164.19 U91(x0, mark(x1), x2) 460.35/164.19 U91(x0, x1, mark(x2)) 460.35/164.19 U91(active(x0), x1, x2) 460.35/164.19 U91(x0, active(x1), x2) 460.35/164.19 U91(x0, x1, active(x2)) 460.35/164.19 U92(mark(x0), x1, x2) 460.35/164.19 U92(x0, mark(x1), x2) 460.35/164.19 U92(x0, x1, mark(x2)) 460.35/164.19 U92(active(x0), x1, x2) 460.35/164.19 U92(x0, active(x1), x2) 460.35/164.19 U92(x0, x1, active(x2)) 460.35/164.19 U93(mark(x0), x1, x2) 460.35/164.19 U93(x0, mark(x1), x2) 460.35/164.19 U93(x0, x1, mark(x2)) 460.35/164.19 U93(active(x0), x1, x2) 460.35/164.19 U93(x0, active(x1), x2) 460.35/164.19 U93(x0, x1, active(x2)) 460.35/164.19 U94(mark(x0), x1) 460.35/164.19 U94(x0, mark(x1)) 460.35/164.19 U94(active(x0), x1) 460.35/164.19 U94(x0, active(x1)) 460.35/164.19 s(mark(x0)) 460.35/164.19 s(active(x0)) 460.35/164.19 length(mark(x0)) 460.35/164.19 length(active(x0)) 460.35/164.19 460.35/164.19 We have to consider all minimal (P,Q,R)-chains. 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (265) UsableRulesProof (EQUIVALENT) 460.35/164.19 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. 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (266) 460.35/164.19 Obligation: 460.35/164.19 Q DP problem: 460.35/164.19 The TRS P consists of the following rules: 460.35/164.19 460.35/164.19 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 460.35/164.19 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.19 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.19 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.19 MARK(U13(X)) -> ACTIVE(U13(mark(X))) 460.35/164.19 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.19 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.19 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.19 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 460.35/164.19 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.19 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.19 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.19 MARK(U33(X)) -> ACTIVE(U33(mark(X))) 460.35/164.19 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.19 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.19 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.19 MARK(U46(X)) -> ACTIVE(U46(mark(X))) 460.35/164.19 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.19 MARK(U52(X)) -> ACTIVE(U52(mark(X))) 460.35/164.19 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.19 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.19 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.19 MARK(U86(X)) -> ACTIVE(U86(mark(X))) 460.35/164.19 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.19 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.19 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.19 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.19 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.19 MARK(s(X)) -> ACTIVE(s(mark(X))) 460.35/164.19 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(zeros) -> ACTIVE(zeros) 460.35/164.19 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.19 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.19 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.19 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.19 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.19 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U13(X)) -> MARK(X) 460.35/164.19 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.19 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.19 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.19 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.19 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 460.35/164.19 MARK(U61(X)) -> MARK(X) 460.35/164.19 MARK(U23(X)) -> MARK(X) 460.35/164.19 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.19 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.19 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.19 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.19 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U33(X)) -> MARK(X) 460.35/164.19 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.19 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U46(X)) -> MARK(X) 460.35/164.19 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.19 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.19 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U52(X)) -> MARK(X) 460.35/164.19 MARK(U71(X)) -> ACTIVE(U71(mark(X))) 460.35/164.19 MARK(U71(X)) -> MARK(X) 460.35/164.19 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U86(X)) -> MARK(X) 460.35/164.19 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(s(X)) -> MARK(X) 460.35/164.19 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.19 MARK(length(X)) -> MARK(X) 460.35/164.19 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.19 460.35/164.19 The TRS R consists of the following rules: 460.35/164.19 460.35/164.19 mark(zeros) -> active(zeros) 460.35/164.19 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.19 active(zeros) -> mark(cons(0, zeros)) 460.35/164.19 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.19 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.19 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.19 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.19 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.19 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.19 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.19 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.19 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.19 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.19 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.19 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.19 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.19 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.19 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.19 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.19 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.19 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.19 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.19 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.19 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.19 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.19 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.19 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.19 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.19 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.19 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.19 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.19 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.19 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.19 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.19 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.19 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.19 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.19 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.19 mark(s(X)) -> active(s(mark(X))) 460.35/164.19 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.19 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.19 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.19 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.19 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.19 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.19 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.19 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.19 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.19 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.19 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.19 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.19 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.19 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.19 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.19 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.19 mark(0) -> active(0) 460.35/164.19 mark(tt) -> active(tt) 460.35/164.19 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.19 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.19 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.19 mark(isNat(X)) -> active(isNat(X)) 460.35/164.19 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.19 mark(length(X)) -> active(length(mark(X))) 460.35/164.19 mark(nil) -> active(nil) 460.35/164.19 length(active(X)) -> length(X) 460.35/164.19 length(mark(X)) -> length(X) 460.35/164.19 active(U13(tt)) -> mark(tt) 460.35/164.19 active(U23(tt)) -> mark(tt) 460.35/164.19 active(U33(tt)) -> mark(tt) 460.35/164.19 active(U46(tt)) -> mark(tt) 460.35/164.19 active(U52(tt)) -> mark(tt) 460.35/164.19 active(U61(tt)) -> mark(tt) 460.35/164.19 active(U71(tt)) -> mark(tt) 460.35/164.19 active(U86(tt)) -> mark(tt) 460.35/164.19 active(isNat(0)) -> mark(tt) 460.35/164.19 active(isNatIList(zeros)) -> mark(tt) 460.35/164.19 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.19 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.19 active(isNatKind(0)) -> mark(tt) 460.35/164.19 active(isNatList(nil)) -> mark(tt) 460.35/164.19 active(length(nil)) -> mark(0) 460.35/164.19 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.19 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.19 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.19 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.19 U13(active(X)) -> U13(X) 460.35/164.19 U13(mark(X)) -> U13(X) 460.35/164.19 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.19 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.19 U23(active(X)) -> U23(X) 460.35/164.19 U23(mark(X)) -> U23(X) 460.35/164.19 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.19 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.19 U33(active(X)) -> U33(X) 460.35/164.19 U33(mark(X)) -> U33(X) 460.35/164.19 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.19 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.19 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.19 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.19 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.19 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.19 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.19 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.19 U46(active(X)) -> U46(X) 460.35/164.19 U46(mark(X)) -> U46(X) 460.35/164.19 U52(active(X)) -> U52(X) 460.35/164.19 U52(mark(X)) -> U52(X) 460.35/164.19 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.19 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.19 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.19 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.19 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.19 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.19 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.19 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.19 U86(active(X)) -> U86(X) 460.35/164.19 U86(mark(X)) -> U86(X) 460.35/164.19 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.19 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.19 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.19 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.19 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.19 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.19 s(active(X)) -> s(X) 460.35/164.19 s(mark(X)) -> s(X) 460.35/164.19 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.19 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.19 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.19 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.19 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.19 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.19 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.19 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.19 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.19 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.19 U61(active(X)) -> U61(X) 460.35/164.19 U61(mark(X)) -> U61(X) 460.35/164.19 U71(active(X)) -> U71(X) 460.35/164.19 U71(mark(X)) -> U71(X) 460.35/164.19 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.19 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.19 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.19 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.19 460.35/164.19 The set Q consists of the following terms: 460.35/164.19 460.35/164.19 active(zeros) 460.35/164.19 active(U11(tt, x0)) 460.35/164.19 active(U12(tt, x0)) 460.35/164.19 active(U13(tt)) 460.35/164.19 active(U21(tt, x0)) 460.35/164.19 active(U22(tt, x0)) 460.35/164.19 active(U23(tt)) 460.35/164.19 active(U31(tt, x0)) 460.35/164.19 active(U32(tt, x0)) 460.35/164.19 active(U33(tt)) 460.35/164.19 active(U41(tt, x0, x1)) 460.35/164.19 active(U42(tt, x0, x1)) 460.35/164.19 active(U43(tt, x0, x1)) 460.35/164.19 active(U44(tt, x0, x1)) 460.35/164.19 active(U45(tt, x0)) 460.35/164.19 active(U46(tt)) 460.35/164.19 active(U51(tt, x0)) 460.35/164.19 active(U52(tt)) 460.35/164.19 active(U61(tt)) 460.35/164.19 active(U71(tt)) 460.35/164.19 active(U81(tt, x0, x1)) 460.35/164.19 active(U82(tt, x0, x1)) 460.35/164.19 active(U83(tt, x0, x1)) 460.35/164.19 active(U84(tt, x0, x1)) 460.35/164.19 active(U85(tt, x0)) 460.35/164.19 active(U86(tt)) 460.35/164.19 active(U91(tt, x0, x1)) 460.35/164.19 active(U92(tt, x0, x1)) 460.35/164.19 active(U93(tt, x0, x1)) 460.35/164.19 active(U94(tt, x0)) 460.35/164.19 active(isNat(0)) 460.35/164.19 active(isNat(length(x0))) 460.35/164.19 active(isNat(s(x0))) 460.35/164.19 active(isNatIList(x0)) 460.35/164.19 active(isNatIListKind(nil)) 460.35/164.19 active(isNatIListKind(zeros)) 460.35/164.19 active(isNatIListKind(cons(x0, x1))) 460.35/164.19 active(isNatKind(0)) 460.35/164.19 active(isNatKind(length(x0))) 460.35/164.19 active(isNatKind(s(x0))) 460.35/164.19 active(isNatList(nil)) 460.35/164.19 active(isNatList(cons(x0, x1))) 460.35/164.19 active(length(nil)) 460.35/164.19 active(length(cons(x0, x1))) 460.35/164.19 mark(zeros) 460.35/164.19 mark(cons(x0, x1)) 460.35/164.19 mark(0) 460.35/164.19 mark(U11(x0, x1)) 460.35/164.19 mark(tt) 460.35/164.19 mark(U12(x0, x1)) 460.35/164.19 mark(isNatIListKind(x0)) 460.35/164.19 mark(U13(x0)) 460.35/164.19 mark(isNatList(x0)) 460.35/164.19 mark(U21(x0, x1)) 460.35/164.19 mark(U22(x0, x1)) 460.35/164.19 mark(isNatKind(x0)) 460.35/164.19 mark(U23(x0)) 460.35/164.19 mark(isNat(x0)) 460.35/164.19 mark(U31(x0, x1)) 460.35/164.19 mark(U32(x0, x1)) 460.35/164.19 mark(U33(x0)) 460.35/164.19 mark(U41(x0, x1, x2)) 460.35/164.19 mark(U42(x0, x1, x2)) 460.35/164.19 mark(U43(x0, x1, x2)) 460.35/164.19 mark(U44(x0, x1, x2)) 460.35/164.19 mark(U45(x0, x1)) 460.35/164.19 mark(U46(x0)) 460.35/164.19 mark(isNatIList(x0)) 460.35/164.19 mark(U51(x0, x1)) 460.35/164.19 mark(U52(x0)) 460.35/164.19 mark(U61(x0)) 460.35/164.19 mark(U71(x0)) 460.35/164.19 mark(U81(x0, x1, x2)) 460.35/164.19 mark(U82(x0, x1, x2)) 460.35/164.19 mark(U83(x0, x1, x2)) 460.35/164.19 mark(U84(x0, x1, x2)) 460.35/164.19 mark(U85(x0, x1)) 460.35/164.19 mark(U86(x0)) 460.35/164.19 mark(U91(x0, x1, x2)) 460.35/164.19 mark(U92(x0, x1, x2)) 460.35/164.19 mark(U93(x0, x1, x2)) 460.35/164.19 mark(U94(x0, x1)) 460.35/164.19 mark(s(x0)) 460.35/164.19 mark(length(x0)) 460.35/164.19 mark(nil) 460.35/164.19 cons(mark(x0), x1) 460.35/164.19 cons(x0, mark(x1)) 460.35/164.19 cons(active(x0), x1) 460.35/164.19 cons(x0, active(x1)) 460.35/164.19 U11(mark(x0), x1) 460.35/164.19 U11(x0, mark(x1)) 460.35/164.19 U11(active(x0), x1) 460.35/164.19 U11(x0, active(x1)) 460.35/164.19 U12(mark(x0), x1) 460.35/164.19 U12(x0, mark(x1)) 460.35/164.19 U12(active(x0), x1) 460.35/164.19 U12(x0, active(x1)) 460.35/164.19 isNatIListKind(mark(x0)) 460.35/164.19 isNatIListKind(active(x0)) 460.35/164.19 U13(mark(x0)) 460.35/164.19 U13(active(x0)) 460.35/164.19 isNatList(mark(x0)) 460.35/164.19 isNatList(active(x0)) 460.35/164.19 U21(mark(x0), x1) 460.35/164.19 U21(x0, mark(x1)) 460.35/164.19 U21(active(x0), x1) 460.35/164.19 U21(x0, active(x1)) 460.35/164.19 U22(mark(x0), x1) 460.35/164.19 U22(x0, mark(x1)) 460.35/164.19 U22(active(x0), x1) 460.35/164.19 U22(x0, active(x1)) 460.35/164.19 isNatKind(mark(x0)) 460.35/164.19 isNatKind(active(x0)) 460.35/164.19 U23(mark(x0)) 460.35/164.19 U23(active(x0)) 460.35/164.19 isNat(mark(x0)) 460.35/164.19 isNat(active(x0)) 460.35/164.19 U31(mark(x0), x1) 460.35/164.19 U31(x0, mark(x1)) 460.35/164.19 U31(active(x0), x1) 460.35/164.19 U31(x0, active(x1)) 460.35/164.19 U32(mark(x0), x1) 460.35/164.19 U32(x0, mark(x1)) 460.35/164.19 U32(active(x0), x1) 460.35/164.19 U32(x0, active(x1)) 460.35/164.19 U33(mark(x0)) 460.35/164.19 U33(active(x0)) 460.35/164.19 U41(mark(x0), x1, x2) 460.35/164.19 U41(x0, mark(x1), x2) 460.35/164.19 U41(x0, x1, mark(x2)) 460.35/164.19 U41(active(x0), x1, x2) 460.35/164.19 U41(x0, active(x1), x2) 460.35/164.19 U41(x0, x1, active(x2)) 460.35/164.19 U42(mark(x0), x1, x2) 460.35/164.19 U42(x0, mark(x1), x2) 460.35/164.19 U42(x0, x1, mark(x2)) 460.35/164.19 U42(active(x0), x1, x2) 460.35/164.19 U42(x0, active(x1), x2) 460.35/164.19 U42(x0, x1, active(x2)) 460.35/164.19 U43(mark(x0), x1, x2) 460.35/164.19 U43(x0, mark(x1), x2) 460.35/164.19 U43(x0, x1, mark(x2)) 460.35/164.19 U43(active(x0), x1, x2) 460.35/164.19 U43(x0, active(x1), x2) 460.35/164.19 U43(x0, x1, active(x2)) 460.35/164.19 U44(mark(x0), x1, x2) 460.35/164.19 U44(x0, mark(x1), x2) 460.35/164.19 U44(x0, x1, mark(x2)) 460.35/164.19 U44(active(x0), x1, x2) 460.35/164.19 U44(x0, active(x1), x2) 460.35/164.19 U44(x0, x1, active(x2)) 460.35/164.19 U45(mark(x0), x1) 460.35/164.19 U45(x0, mark(x1)) 460.35/164.19 U45(active(x0), x1) 460.35/164.19 U45(x0, active(x1)) 460.35/164.19 U46(mark(x0)) 460.35/164.19 U46(active(x0)) 460.35/164.19 isNatIList(mark(x0)) 460.35/164.19 isNatIList(active(x0)) 460.35/164.19 U51(mark(x0), x1) 460.35/164.19 U51(x0, mark(x1)) 460.35/164.19 U51(active(x0), x1) 460.35/164.19 U51(x0, active(x1)) 460.35/164.19 U52(mark(x0)) 460.35/164.19 U52(active(x0)) 460.35/164.19 U61(mark(x0)) 460.35/164.19 U61(active(x0)) 460.35/164.19 U71(mark(x0)) 460.35/164.19 U71(active(x0)) 460.35/164.19 U81(mark(x0), x1, x2) 460.35/164.19 U81(x0, mark(x1), x2) 460.35/164.19 U81(x0, x1, mark(x2)) 460.35/164.19 U81(active(x0), x1, x2) 460.35/164.19 U81(x0, active(x1), x2) 460.35/164.19 U81(x0, x1, active(x2)) 460.35/164.19 U82(mark(x0), x1, x2) 460.35/164.19 U82(x0, mark(x1), x2) 460.35/164.19 U82(x0, x1, mark(x2)) 460.35/164.19 U82(active(x0), x1, x2) 460.35/164.19 U82(x0, active(x1), x2) 460.35/164.19 U82(x0, x1, active(x2)) 460.35/164.19 U83(mark(x0), x1, x2) 460.35/164.19 U83(x0, mark(x1), x2) 460.35/164.19 U83(x0, x1, mark(x2)) 460.35/164.19 U83(active(x0), x1, x2) 460.35/164.19 U83(x0, active(x1), x2) 460.35/164.19 U83(x0, x1, active(x2)) 460.35/164.19 U84(mark(x0), x1, x2) 460.35/164.19 U84(x0, mark(x1), x2) 460.35/164.19 U84(x0, x1, mark(x2)) 460.35/164.19 U84(active(x0), x1, x2) 460.35/164.19 U84(x0, active(x1), x2) 460.35/164.19 U84(x0, x1, active(x2)) 460.35/164.19 U85(mark(x0), x1) 460.35/164.19 U85(x0, mark(x1)) 460.35/164.19 U85(active(x0), x1) 460.35/164.19 U85(x0, active(x1)) 460.35/164.19 U86(mark(x0)) 460.35/164.19 U86(active(x0)) 460.35/164.19 U91(mark(x0), x1, x2) 460.35/164.19 U91(x0, mark(x1), x2) 460.35/164.19 U91(x0, x1, mark(x2)) 460.35/164.19 U91(active(x0), x1, x2) 460.35/164.19 U91(x0, active(x1), x2) 460.35/164.19 U91(x0, x1, active(x2)) 460.35/164.19 U92(mark(x0), x1, x2) 460.35/164.19 U92(x0, mark(x1), x2) 460.35/164.19 U92(x0, x1, mark(x2)) 460.35/164.19 U92(active(x0), x1, x2) 460.35/164.19 U92(x0, active(x1), x2) 460.35/164.19 U92(x0, x1, active(x2)) 460.35/164.19 U93(mark(x0), x1, x2) 460.35/164.19 U93(x0, mark(x1), x2) 460.35/164.19 U93(x0, x1, mark(x2)) 460.35/164.19 U93(active(x0), x1, x2) 460.35/164.19 U93(x0, active(x1), x2) 460.35/164.19 U93(x0, x1, active(x2)) 460.35/164.19 U94(mark(x0), x1) 460.35/164.19 U94(x0, mark(x1)) 460.35/164.19 U94(active(x0), x1) 460.35/164.19 U94(x0, active(x1)) 460.35/164.19 s(mark(x0)) 460.35/164.19 s(active(x0)) 460.35/164.19 length(mark(x0)) 460.35/164.19 length(active(x0)) 460.35/164.19 460.35/164.19 We have to consider all minimal (P,Q,R)-chains. 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (267) QDPOrderProof (EQUIVALENT) 460.35/164.19 We use the reduction pair processor [LPAR04,JAR06]. 460.35/164.19 460.35/164.19 460.35/164.19 The following pairs can be oriented strictly and are deleted. 460.35/164.19 460.35/164.19 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 460.35/164.19 MARK(U13(X)) -> ACTIVE(U13(mark(X))) 460.35/164.19 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 460.35/164.19 MARK(U33(X)) -> ACTIVE(U33(mark(X))) 460.35/164.19 MARK(U46(X)) -> ACTIVE(U46(mark(X))) 460.35/164.19 MARK(U52(X)) -> ACTIVE(U52(mark(X))) 460.35/164.19 MARK(U86(X)) -> ACTIVE(U86(mark(X))) 460.35/164.19 MARK(s(X)) -> ACTIVE(s(mark(X))) 460.35/164.19 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 460.35/164.19 MARK(U71(X)) -> ACTIVE(U71(mark(X))) 460.35/164.19 The remaining pairs can at least be oriented weakly. 460.35/164.19 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.35/164.19 460.35/164.19 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 460.35/164.19 POL( U11_2(x_1, x_2) ) = 2 460.35/164.19 POL( U12_2(x_1, x_2) ) = 2 460.35/164.19 POL( U13_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U21_2(x_1, x_2) ) = 2 460.35/164.19 POL( U22_2(x_1, x_2) ) = 2 460.35/164.19 POL( U23_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U31_2(x_1, x_2) ) = 2 460.35/164.19 POL( U32_2(x_1, x_2) ) = 2 460.35/164.19 POL( U33_1(x_1) ) = 0 460.35/164.19 POL( U41_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U42_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U43_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U44_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U45_2(x_1, x_2) ) = 2 460.35/164.19 POL( U46_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U51_2(x_1, x_2) ) = 2 460.35/164.19 POL( U52_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U61_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U71_1(x_1) ) = 0 460.35/164.19 POL( U81_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U82_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U83_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U84_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U85_2(x_1, x_2) ) = 2 460.35/164.19 POL( U86_1(x_1) ) = max{0, -2} 460.35/164.19 POL( U91_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U92_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U93_3(x_1, ..., x_3) ) = 2 460.35/164.19 POL( U94_2(x_1, x_2) ) = 2 460.35/164.19 POL( cons_2(x_1, x_2) ) = max{0, -2} 460.35/164.19 POL( length_1(x_1) ) = 2 460.35/164.19 POL( s_1(x_1) ) = max{0, -2} 460.35/164.19 POL( mark_1(x_1) ) = max{0, -2} 460.35/164.19 POL( zeros ) = 2 460.35/164.19 POL( active_1(x_1) ) = max{0, -2} 460.35/164.19 POL( 0 ) = 0 460.35/164.19 POL( tt ) = 0 460.35/164.19 POL( isNatIListKind_1(x_1) ) = 2 460.35/164.19 POL( isNatList_1(x_1) ) = 2 460.35/164.19 POL( isNatKind_1(x_1) ) = 2 460.35/164.19 POL( isNat_1(x_1) ) = 2 460.35/164.19 POL( isNatIList_1(x_1) ) = 2 460.35/164.19 POL( nil ) = 0 460.35/164.19 POL( MARK_1(x_1) ) = 1 460.35/164.19 460.35/164.19 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.35/164.19 460.35/164.19 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.19 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.19 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.19 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.19 U13(active(X)) -> U13(X) 460.35/164.19 U13(mark(X)) -> U13(X) 460.35/164.19 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.19 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.19 U23(active(X)) -> U23(X) 460.35/164.19 U23(mark(X)) -> U23(X) 460.35/164.19 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.19 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.19 U33(active(X)) -> U33(X) 460.35/164.19 U33(mark(X)) -> U33(X) 460.35/164.19 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.19 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.19 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.19 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.19 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.19 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.19 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.19 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.19 U46(active(X)) -> U46(X) 460.35/164.19 U46(mark(X)) -> U46(X) 460.35/164.19 U52(active(X)) -> U52(X) 460.35/164.19 U52(mark(X)) -> U52(X) 460.35/164.19 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.19 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.19 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.19 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.19 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.19 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.19 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.19 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.19 U86(active(X)) -> U86(X) 460.35/164.19 U86(mark(X)) -> U86(X) 460.35/164.19 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.19 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.19 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.19 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.19 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.19 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.19 s(active(X)) -> s(X) 460.35/164.19 s(mark(X)) -> s(X) 460.35/164.19 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.19 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.19 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.19 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.19 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.19 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.19 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.19 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.19 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.19 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.19 U61(active(X)) -> U61(X) 460.35/164.19 U61(mark(X)) -> U61(X) 460.35/164.19 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.19 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.19 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.19 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.19 U71(active(X)) -> U71(X) 460.35/164.19 U71(mark(X)) -> U71(X) 460.35/164.19 length(active(X)) -> length(X) 460.35/164.19 length(mark(X)) -> length(X) 460.35/164.19 460.35/164.19 460.35/164.19 ---------------------------------------- 460.35/164.19 460.35/164.19 (268) 460.35/164.19 Obligation: 460.35/164.19 Q DP problem: 460.35/164.19 The TRS P consists of the following rules: 460.35/164.19 460.35/164.19 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.19 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.19 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.19 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.19 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.19 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.19 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.19 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.19 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.19 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.19 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.19 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.19 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.19 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.19 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.19 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.19 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.19 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.19 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.19 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.19 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.19 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.19 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.19 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(zeros) -> ACTIVE(zeros) 460.35/164.19 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.19 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.19 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.19 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.19 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.19 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U13(X)) -> MARK(X) 460.35/164.19 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.19 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.19 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.19 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.19 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.19 MARK(U61(X)) -> MARK(X) 460.35/164.19 MARK(U23(X)) -> MARK(X) 460.35/164.19 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.19 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.19 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.19 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.19 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U33(X)) -> MARK(X) 460.35/164.19 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.19 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U46(X)) -> MARK(X) 460.35/164.19 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.19 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.19 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.19 MARK(U52(X)) -> MARK(X) 460.35/164.19 MARK(U71(X)) -> MARK(X) 460.35/164.19 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(U86(X)) -> MARK(X) 460.35/164.19 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.19 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.19 MARK(s(X)) -> MARK(X) 460.35/164.19 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.19 MARK(length(X)) -> MARK(X) 460.35/164.19 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.19 460.35/164.19 The TRS R consists of the following rules: 460.35/164.19 460.35/164.19 mark(zeros) -> active(zeros) 460.35/164.19 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.19 active(zeros) -> mark(cons(0, zeros)) 460.35/164.19 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.19 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.19 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.19 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.19 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.19 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.19 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.19 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.19 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.19 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.19 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.19 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.19 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.19 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.19 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.19 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.19 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.19 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.19 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.19 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.19 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.19 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.19 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.19 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.19 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.19 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.19 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.19 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.19 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.19 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.19 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.19 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.19 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.19 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.19 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.19 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.19 mark(s(X)) -> active(s(mark(X))) 460.35/164.19 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.19 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.19 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.19 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.19 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.19 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.19 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.19 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.19 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.19 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.19 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.19 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.19 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.19 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.19 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.19 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.19 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.19 mark(0) -> active(0) 460.35/164.19 mark(tt) -> active(tt) 460.35/164.19 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.19 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.19 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.19 mark(isNat(X)) -> active(isNat(X)) 460.35/164.19 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.19 mark(length(X)) -> active(length(mark(X))) 460.35/164.19 mark(nil) -> active(nil) 460.35/164.19 length(active(X)) -> length(X) 460.35/164.19 length(mark(X)) -> length(X) 460.35/164.19 active(U13(tt)) -> mark(tt) 460.35/164.19 active(U23(tt)) -> mark(tt) 460.35/164.19 active(U33(tt)) -> mark(tt) 460.35/164.19 active(U46(tt)) -> mark(tt) 460.35/164.19 active(U52(tt)) -> mark(tt) 460.35/164.19 active(U61(tt)) -> mark(tt) 460.35/164.19 active(U71(tt)) -> mark(tt) 460.35/164.19 active(U86(tt)) -> mark(tt) 460.35/164.19 active(isNat(0)) -> mark(tt) 460.35/164.19 active(isNatIList(zeros)) -> mark(tt) 460.35/164.19 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.19 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.19 active(isNatKind(0)) -> mark(tt) 460.35/164.19 active(isNatList(nil)) -> mark(tt) 460.35/164.19 active(length(nil)) -> mark(0) 460.35/164.19 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.19 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.19 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.19 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.19 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.19 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.19 U13(active(X)) -> U13(X) 460.35/164.19 U13(mark(X)) -> U13(X) 460.35/164.19 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.19 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.19 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.19 U23(active(X)) -> U23(X) 460.35/164.19 U23(mark(X)) -> U23(X) 460.35/164.19 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.19 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.19 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.19 U33(active(X)) -> U33(X) 460.35/164.19 U33(mark(X)) -> U33(X) 460.35/164.19 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.19 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.19 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.19 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.19 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.19 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.19 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.19 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.19 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.19 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.19 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.19 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.19 U46(active(X)) -> U46(X) 460.35/164.19 U46(mark(X)) -> U46(X) 460.35/164.19 U52(active(X)) -> U52(X) 460.35/164.19 U52(mark(X)) -> U52(X) 460.35/164.19 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.19 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.19 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.19 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.19 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.19 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.19 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.19 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.19 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.19 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.19 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.19 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.19 U86(active(X)) -> U86(X) 460.35/164.19 U86(mark(X)) -> U86(X) 460.35/164.19 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.19 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.19 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.19 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.19 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.19 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.19 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.19 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.19 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.19 s(active(X)) -> s(X) 460.35/164.19 s(mark(X)) -> s(X) 460.35/164.19 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.19 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.19 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.19 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.19 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.19 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.19 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.19 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.19 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.19 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.19 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.19 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.19 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.19 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.19 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.19 U61(active(X)) -> U61(X) 460.35/164.19 U61(mark(X)) -> U61(X) 460.35/164.19 U71(active(X)) -> U71(X) 460.35/164.19 U71(mark(X)) -> U71(X) 460.35/164.19 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.19 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.19 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.19 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.19 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.19 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.19 460.35/164.19 The set Q consists of the following terms: 460.35/164.19 460.35/164.19 active(zeros) 460.35/164.19 active(U11(tt, x0)) 460.35/164.19 active(U12(tt, x0)) 460.35/164.19 active(U13(tt)) 460.35/164.19 active(U21(tt, x0)) 460.35/164.19 active(U22(tt, x0)) 460.35/164.19 active(U23(tt)) 460.35/164.19 active(U31(tt, x0)) 460.35/164.19 active(U32(tt, x0)) 460.35/164.19 active(U33(tt)) 460.35/164.19 active(U41(tt, x0, x1)) 460.35/164.19 active(U42(tt, x0, x1)) 460.35/164.19 active(U43(tt, x0, x1)) 460.35/164.19 active(U44(tt, x0, x1)) 460.35/164.19 active(U45(tt, x0)) 460.35/164.19 active(U46(tt)) 460.35/164.19 active(U51(tt, x0)) 460.35/164.19 active(U52(tt)) 460.35/164.19 active(U61(tt)) 460.35/164.19 active(U71(tt)) 460.35/164.19 active(U81(tt, x0, x1)) 460.35/164.19 active(U82(tt, x0, x1)) 460.35/164.19 active(U83(tt, x0, x1)) 460.35/164.19 active(U84(tt, x0, x1)) 460.35/164.19 active(U85(tt, x0)) 460.35/164.19 active(U86(tt)) 460.35/164.19 active(U91(tt, x0, x1)) 460.35/164.19 active(U92(tt, x0, x1)) 460.35/164.19 active(U93(tt, x0, x1)) 460.35/164.19 active(U94(tt, x0)) 460.35/164.19 active(isNat(0)) 460.35/164.19 active(isNat(length(x0))) 460.35/164.19 active(isNat(s(x0))) 460.35/164.19 active(isNatIList(x0)) 460.35/164.19 active(isNatIListKind(nil)) 460.35/164.19 active(isNatIListKind(zeros)) 460.35/164.19 active(isNatIListKind(cons(x0, x1))) 460.35/164.19 active(isNatKind(0)) 460.35/164.19 active(isNatKind(length(x0))) 460.35/164.19 active(isNatKind(s(x0))) 460.35/164.19 active(isNatList(nil)) 460.35/164.19 active(isNatList(cons(x0, x1))) 460.35/164.19 active(length(nil)) 460.35/164.19 active(length(cons(x0, x1))) 460.35/164.19 mark(zeros) 460.35/164.19 mark(cons(x0, x1)) 460.35/164.19 mark(0) 460.35/164.19 mark(U11(x0, x1)) 460.35/164.19 mark(tt) 460.35/164.19 mark(U12(x0, x1)) 460.35/164.19 mark(isNatIListKind(x0)) 460.35/164.19 mark(U13(x0)) 460.35/164.19 mark(isNatList(x0)) 460.35/164.19 mark(U21(x0, x1)) 460.35/164.19 mark(U22(x0, x1)) 460.35/164.19 mark(isNatKind(x0)) 460.35/164.19 mark(U23(x0)) 460.35/164.19 mark(isNat(x0)) 460.35/164.19 mark(U31(x0, x1)) 460.35/164.19 mark(U32(x0, x1)) 460.35/164.19 mark(U33(x0)) 460.35/164.19 mark(U41(x0, x1, x2)) 460.35/164.19 mark(U42(x0, x1, x2)) 460.35/164.19 mark(U43(x0, x1, x2)) 460.35/164.19 mark(U44(x0, x1, x2)) 460.35/164.19 mark(U45(x0, x1)) 460.35/164.19 mark(U46(x0)) 460.35/164.19 mark(isNatIList(x0)) 460.35/164.19 mark(U51(x0, x1)) 460.35/164.19 mark(U52(x0)) 460.35/164.19 mark(U61(x0)) 460.35/164.19 mark(U71(x0)) 460.35/164.19 mark(U81(x0, x1, x2)) 460.35/164.19 mark(U82(x0, x1, x2)) 460.35/164.20 mark(U83(x0, x1, x2)) 460.35/164.20 mark(U84(x0, x1, x2)) 460.35/164.20 mark(U85(x0, x1)) 460.35/164.20 mark(U86(x0)) 460.35/164.20 mark(U91(x0, x1, x2)) 460.35/164.20 mark(U92(x0, x1, x2)) 460.35/164.20 mark(U93(x0, x1, x2)) 460.35/164.20 mark(U94(x0, x1)) 460.35/164.20 mark(s(x0)) 460.35/164.20 mark(length(x0)) 460.35/164.20 mark(nil) 460.35/164.20 cons(mark(x0), x1) 460.35/164.20 cons(x0, mark(x1)) 460.35/164.20 cons(active(x0), x1) 460.35/164.20 cons(x0, active(x1)) 460.35/164.20 U11(mark(x0), x1) 460.35/164.20 U11(x0, mark(x1)) 460.35/164.20 U11(active(x0), x1) 460.35/164.20 U11(x0, active(x1)) 460.35/164.20 U12(mark(x0), x1) 460.35/164.20 U12(x0, mark(x1)) 460.35/164.20 U12(active(x0), x1) 460.35/164.20 U12(x0, active(x1)) 460.35/164.20 isNatIListKind(mark(x0)) 460.35/164.20 isNatIListKind(active(x0)) 460.35/164.20 U13(mark(x0)) 460.35/164.20 U13(active(x0)) 460.35/164.20 isNatList(mark(x0)) 460.35/164.20 isNatList(active(x0)) 460.35/164.20 U21(mark(x0), x1) 460.35/164.20 U21(x0, mark(x1)) 460.35/164.20 U21(active(x0), x1) 460.35/164.20 U21(x0, active(x1)) 460.35/164.20 U22(mark(x0), x1) 460.35/164.20 U22(x0, mark(x1)) 460.35/164.20 U22(active(x0), x1) 460.35/164.20 U22(x0, active(x1)) 460.35/164.20 isNatKind(mark(x0)) 460.35/164.20 isNatKind(active(x0)) 460.35/164.20 U23(mark(x0)) 460.35/164.20 U23(active(x0)) 460.35/164.20 isNat(mark(x0)) 460.35/164.20 isNat(active(x0)) 460.35/164.20 U31(mark(x0), x1) 460.35/164.20 U31(x0, mark(x1)) 460.35/164.20 U31(active(x0), x1) 460.35/164.20 U31(x0, active(x1)) 460.35/164.20 U32(mark(x0), x1) 460.35/164.20 U32(x0, mark(x1)) 460.35/164.20 U32(active(x0), x1) 460.35/164.20 U32(x0, active(x1)) 460.35/164.20 U33(mark(x0)) 460.35/164.20 U33(active(x0)) 460.35/164.20 U41(mark(x0), x1, x2) 460.35/164.20 U41(x0, mark(x1), x2) 460.35/164.20 U41(x0, x1, mark(x2)) 460.35/164.20 U41(active(x0), x1, x2) 460.35/164.20 U41(x0, active(x1), x2) 460.35/164.20 U41(x0, x1, active(x2)) 460.35/164.20 U42(mark(x0), x1, x2) 460.35/164.20 U42(x0, mark(x1), x2) 460.35/164.20 U42(x0, x1, mark(x2)) 460.35/164.20 U42(active(x0), x1, x2) 460.35/164.20 U42(x0, active(x1), x2) 460.35/164.20 U42(x0, x1, active(x2)) 460.35/164.20 U43(mark(x0), x1, x2) 460.35/164.20 U43(x0, mark(x1), x2) 460.35/164.20 U43(x0, x1, mark(x2)) 460.35/164.20 U43(active(x0), x1, x2) 460.35/164.20 U43(x0, active(x1), x2) 460.35/164.20 U43(x0, x1, active(x2)) 460.35/164.20 U44(mark(x0), x1, x2) 460.35/164.20 U44(x0, mark(x1), x2) 460.35/164.20 U44(x0, x1, mark(x2)) 460.35/164.20 U44(active(x0), x1, x2) 460.35/164.20 U44(x0, active(x1), x2) 460.35/164.20 U44(x0, x1, active(x2)) 460.35/164.20 U45(mark(x0), x1) 460.35/164.20 U45(x0, mark(x1)) 460.35/164.20 U45(active(x0), x1) 460.35/164.20 U45(x0, active(x1)) 460.35/164.20 U46(mark(x0)) 460.35/164.20 U46(active(x0)) 460.35/164.20 isNatIList(mark(x0)) 460.35/164.20 isNatIList(active(x0)) 460.35/164.20 U51(mark(x0), x1) 460.35/164.20 U51(x0, mark(x1)) 460.35/164.20 U51(active(x0), x1) 460.35/164.20 U51(x0, active(x1)) 460.35/164.20 U52(mark(x0)) 460.35/164.20 U52(active(x0)) 460.35/164.20 U61(mark(x0)) 460.35/164.20 U61(active(x0)) 460.35/164.20 U71(mark(x0)) 460.35/164.20 U71(active(x0)) 460.35/164.20 U81(mark(x0), x1, x2) 460.35/164.20 U81(x0, mark(x1), x2) 460.35/164.20 U81(x0, x1, mark(x2)) 460.35/164.20 U81(active(x0), x1, x2) 460.35/164.20 U81(x0, active(x1), x2) 460.35/164.20 U81(x0, x1, active(x2)) 460.35/164.20 U82(mark(x0), x1, x2) 460.35/164.20 U82(x0, mark(x1), x2) 460.35/164.20 U82(x0, x1, mark(x2)) 460.35/164.20 U82(active(x0), x1, x2) 460.35/164.20 U82(x0, active(x1), x2) 460.35/164.20 U82(x0, x1, active(x2)) 460.35/164.20 U83(mark(x0), x1, x2) 460.35/164.20 U83(x0, mark(x1), x2) 460.35/164.20 U83(x0, x1, mark(x2)) 460.35/164.20 U83(active(x0), x1, x2) 460.35/164.20 U83(x0, active(x1), x2) 460.35/164.20 U83(x0, x1, active(x2)) 460.35/164.20 U84(mark(x0), x1, x2) 460.35/164.20 U84(x0, mark(x1), x2) 460.35/164.20 U84(x0, x1, mark(x2)) 460.35/164.20 U84(active(x0), x1, x2) 460.35/164.20 U84(x0, active(x1), x2) 460.35/164.20 U84(x0, x1, active(x2)) 460.35/164.20 U85(mark(x0), x1) 460.35/164.20 U85(x0, mark(x1)) 460.35/164.20 U85(active(x0), x1) 460.35/164.20 U85(x0, active(x1)) 460.35/164.20 U86(mark(x0)) 460.35/164.20 U86(active(x0)) 460.35/164.20 U91(mark(x0), x1, x2) 460.35/164.20 U91(x0, mark(x1), x2) 460.35/164.20 U91(x0, x1, mark(x2)) 460.35/164.20 U91(active(x0), x1, x2) 460.35/164.20 U91(x0, active(x1), x2) 460.35/164.20 U91(x0, x1, active(x2)) 460.35/164.20 U92(mark(x0), x1, x2) 460.35/164.20 U92(x0, mark(x1), x2) 460.35/164.20 U92(x0, x1, mark(x2)) 460.35/164.20 U92(active(x0), x1, x2) 460.35/164.20 U92(x0, active(x1), x2) 460.35/164.20 U92(x0, x1, active(x2)) 460.35/164.20 U93(mark(x0), x1, x2) 460.35/164.20 U93(x0, mark(x1), x2) 460.35/164.20 U93(x0, x1, mark(x2)) 460.35/164.20 U93(active(x0), x1, x2) 460.35/164.20 U93(x0, active(x1), x2) 460.35/164.20 U93(x0, x1, active(x2)) 460.35/164.20 U94(mark(x0), x1) 460.35/164.20 U94(x0, mark(x1)) 460.35/164.20 U94(active(x0), x1) 460.35/164.20 U94(x0, active(x1)) 460.35/164.20 s(mark(x0)) 460.35/164.20 s(active(x0)) 460.35/164.20 length(mark(x0)) 460.35/164.20 length(active(x0)) 460.35/164.20 460.35/164.20 We have to consider all minimal (P,Q,R)-chains. 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (269) QDPQMonotonicMRRProof (EQUIVALENT) 460.35/164.20 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. 460.35/164.20 460.35/164.20 460.35/164.20 Strictly oriented rules of the TRS R: 460.35/164.20 460.35/164.20 active(length(nil)) -> mark(0) 460.35/164.20 460.35/164.20 Used ordering: Polynomial interpretation [POLO]: 460.35/164.20 460.35/164.20 POL(0) = 0 460.35/164.20 POL(ACTIVE(x_1)) = 2*x_1 460.35/164.20 POL(MARK(x_1)) = 2*x_1 460.35/164.20 POL(U11(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U12(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U13(x_1)) = 2*x_1 460.35/164.20 POL(U21(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U22(x_1, x_2)) = x_1 460.35/164.20 POL(U23(x_1)) = 2*x_1 460.35/164.20 POL(U31(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U32(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U33(x_1)) = 2*x_1 460.35/164.20 POL(U41(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U42(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U43(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U44(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U45(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U46(x_1)) = x_1 460.35/164.20 POL(U51(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U52(x_1)) = x_1 460.35/164.20 POL(U61(x_1)) = 2*x_1 460.35/164.20 POL(U71(x_1)) = 2*x_1 460.35/164.20 POL(U81(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U82(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U83(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U84(x_1, x_2, x_3)) = x_1 460.35/164.20 POL(U85(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U86(x_1)) = 2*x_1 460.35/164.20 POL(U91(x_1, x_2, x_3)) = 2*x_1 + x_2 460.35/164.20 POL(U92(x_1, x_2, x_3)) = 2*x_1 + x_2 460.35/164.20 POL(U93(x_1, x_2, x_3)) = 2*x_1 + x_2 460.35/164.20 POL(U94(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(active(x_1)) = x_1 460.35/164.20 POL(cons(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(isNat(x_1)) = 0 460.35/164.20 POL(isNatIList(x_1)) = 0 460.35/164.20 POL(isNatIListKind(x_1)) = 0 460.35/164.20 POL(isNatKind(x_1)) = 0 460.35/164.20 POL(isNatList(x_1)) = 0 460.35/164.20 POL(length(x_1)) = x_1 460.35/164.20 POL(mark(x_1)) = x_1 460.35/164.20 POL(nil) = 1 460.35/164.20 POL(s(x_1)) = x_1 460.35/164.20 POL(tt) = 0 460.35/164.20 POL(zeros) = 0 460.35/164.20 460.35/164.20 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (270) 460.35/164.20 Obligation: 460.35/164.20 Q DP problem: 460.35/164.20 The TRS P consists of the following rules: 460.35/164.20 460.35/164.20 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.20 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.20 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.20 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.20 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.20 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.20 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.20 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.20 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.20 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.20 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.20 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.20 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.20 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.20 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.20 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.20 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.20 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.20 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.20 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.20 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.20 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.20 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.20 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(zeros) -> ACTIVE(zeros) 460.35/164.20 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.20 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.20 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.20 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.20 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.20 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U13(X)) -> MARK(X) 460.35/164.20 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.20 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.20 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.20 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.20 MARK(U61(X)) -> MARK(X) 460.35/164.20 MARK(U23(X)) -> MARK(X) 460.35/164.20 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.20 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.20 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.20 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.20 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U33(X)) -> MARK(X) 460.35/164.20 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.20 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U46(X)) -> MARK(X) 460.35/164.20 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.20 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.20 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U52(X)) -> MARK(X) 460.35/164.20 MARK(U71(X)) -> MARK(X) 460.35/164.20 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U86(X)) -> MARK(X) 460.35/164.20 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(s(X)) -> MARK(X) 460.35/164.20 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.20 MARK(length(X)) -> MARK(X) 460.35/164.20 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.20 460.35/164.20 The TRS R consists of the following rules: 460.35/164.20 460.35/164.20 mark(zeros) -> active(zeros) 460.35/164.20 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.20 active(zeros) -> mark(cons(0, zeros)) 460.35/164.20 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.20 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.20 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.20 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.20 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.20 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.20 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.20 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.20 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.20 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.20 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.20 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.20 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.20 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.20 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.20 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.20 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.20 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.20 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.20 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.20 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.20 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.20 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.20 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.20 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.20 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.20 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.20 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.20 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.20 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.20 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.20 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.20 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.20 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.20 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.20 mark(s(X)) -> active(s(mark(X))) 460.35/164.20 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.20 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.20 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.20 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.20 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.20 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.20 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.20 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.20 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.20 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.20 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.20 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.20 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.20 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.20 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.20 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.20 mark(0) -> active(0) 460.35/164.20 mark(tt) -> active(tt) 460.35/164.20 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.20 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.20 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.20 mark(isNat(X)) -> active(isNat(X)) 460.35/164.20 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.20 mark(length(X)) -> active(length(mark(X))) 460.35/164.20 mark(nil) -> active(nil) 460.35/164.20 length(active(X)) -> length(X) 460.35/164.20 length(mark(X)) -> length(X) 460.35/164.20 active(U13(tt)) -> mark(tt) 460.35/164.20 active(U23(tt)) -> mark(tt) 460.35/164.20 active(U33(tt)) -> mark(tt) 460.35/164.20 active(U46(tt)) -> mark(tt) 460.35/164.20 active(U52(tt)) -> mark(tt) 460.35/164.20 active(U61(tt)) -> mark(tt) 460.35/164.20 active(U71(tt)) -> mark(tt) 460.35/164.20 active(U86(tt)) -> mark(tt) 460.35/164.20 active(isNat(0)) -> mark(tt) 460.35/164.20 active(isNatIList(zeros)) -> mark(tt) 460.35/164.20 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.20 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.20 active(isNatKind(0)) -> mark(tt) 460.35/164.20 active(isNatList(nil)) -> mark(tt) 460.35/164.20 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.20 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.20 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.20 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.20 U13(active(X)) -> U13(X) 460.35/164.20 U13(mark(X)) -> U13(X) 460.35/164.20 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.20 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.20 U23(active(X)) -> U23(X) 460.35/164.20 U23(mark(X)) -> U23(X) 460.35/164.20 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.20 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.20 U33(active(X)) -> U33(X) 460.35/164.20 U33(mark(X)) -> U33(X) 460.35/164.20 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.20 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.20 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.20 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.20 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.20 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.20 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.20 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.20 U46(active(X)) -> U46(X) 460.35/164.20 U46(mark(X)) -> U46(X) 460.35/164.20 U52(active(X)) -> U52(X) 460.35/164.20 U52(mark(X)) -> U52(X) 460.35/164.20 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.20 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.20 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.20 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.20 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.20 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.20 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.20 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.20 U86(active(X)) -> U86(X) 460.35/164.20 U86(mark(X)) -> U86(X) 460.35/164.20 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.20 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.20 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.20 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.20 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.20 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.20 s(active(X)) -> s(X) 460.35/164.20 s(mark(X)) -> s(X) 460.35/164.20 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.20 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.20 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.20 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.20 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.20 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.20 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.20 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.20 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.20 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.20 U61(active(X)) -> U61(X) 460.35/164.20 U61(mark(X)) -> U61(X) 460.35/164.20 U71(active(X)) -> U71(X) 460.35/164.20 U71(mark(X)) -> U71(X) 460.35/164.20 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.20 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.20 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.20 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.20 460.35/164.20 The set Q consists of the following terms: 460.35/164.20 460.35/164.20 active(zeros) 460.35/164.20 active(U11(tt, x0)) 460.35/164.20 active(U12(tt, x0)) 460.35/164.20 active(U13(tt)) 460.35/164.20 active(U21(tt, x0)) 460.35/164.20 active(U22(tt, x0)) 460.35/164.20 active(U23(tt)) 460.35/164.20 active(U31(tt, x0)) 460.35/164.20 active(U32(tt, x0)) 460.35/164.20 active(U33(tt)) 460.35/164.20 active(U41(tt, x0, x1)) 460.35/164.20 active(U42(tt, x0, x1)) 460.35/164.20 active(U43(tt, x0, x1)) 460.35/164.20 active(U44(tt, x0, x1)) 460.35/164.20 active(U45(tt, x0)) 460.35/164.20 active(U46(tt)) 460.35/164.20 active(U51(tt, x0)) 460.35/164.20 active(U52(tt)) 460.35/164.20 active(U61(tt)) 460.35/164.20 active(U71(tt)) 460.35/164.20 active(U81(tt, x0, x1)) 460.35/164.20 active(U82(tt, x0, x1)) 460.35/164.20 active(U83(tt, x0, x1)) 460.35/164.20 active(U84(tt, x0, x1)) 460.35/164.20 active(U85(tt, x0)) 460.35/164.20 active(U86(tt)) 460.35/164.20 active(U91(tt, x0, x1)) 460.35/164.20 active(U92(tt, x0, x1)) 460.35/164.20 active(U93(tt, x0, x1)) 460.35/164.20 active(U94(tt, x0)) 460.35/164.20 active(isNat(0)) 460.35/164.20 active(isNat(length(x0))) 460.35/164.20 active(isNat(s(x0))) 460.35/164.20 active(isNatIList(x0)) 460.35/164.20 active(isNatIListKind(nil)) 460.35/164.20 active(isNatIListKind(zeros)) 460.35/164.20 active(isNatIListKind(cons(x0, x1))) 460.35/164.20 active(isNatKind(0)) 460.35/164.20 active(isNatKind(length(x0))) 460.35/164.20 active(isNatKind(s(x0))) 460.35/164.20 active(isNatList(nil)) 460.35/164.20 active(isNatList(cons(x0, x1))) 460.35/164.20 active(length(nil)) 460.35/164.20 active(length(cons(x0, x1))) 460.35/164.20 mark(zeros) 460.35/164.20 mark(cons(x0, x1)) 460.35/164.20 mark(0) 460.35/164.20 mark(U11(x0, x1)) 460.35/164.20 mark(tt) 460.35/164.20 mark(U12(x0, x1)) 460.35/164.20 mark(isNatIListKind(x0)) 460.35/164.20 mark(U13(x0)) 460.35/164.20 mark(isNatList(x0)) 460.35/164.20 mark(U21(x0, x1)) 460.35/164.20 mark(U22(x0, x1)) 460.35/164.20 mark(isNatKind(x0)) 460.35/164.20 mark(U23(x0)) 460.35/164.20 mark(isNat(x0)) 460.35/164.20 mark(U31(x0, x1)) 460.35/164.20 mark(U32(x0, x1)) 460.35/164.20 mark(U33(x0)) 460.35/164.20 mark(U41(x0, x1, x2)) 460.35/164.20 mark(U42(x0, x1, x2)) 460.35/164.20 mark(U43(x0, x1, x2)) 460.35/164.20 mark(U44(x0, x1, x2)) 460.35/164.20 mark(U45(x0, x1)) 460.35/164.20 mark(U46(x0)) 460.35/164.20 mark(isNatIList(x0)) 460.35/164.20 mark(U51(x0, x1)) 460.35/164.20 mark(U52(x0)) 460.35/164.20 mark(U61(x0)) 460.35/164.20 mark(U71(x0)) 460.35/164.20 mark(U81(x0, x1, x2)) 460.35/164.20 mark(U82(x0, x1, x2)) 460.35/164.20 mark(U83(x0, x1, x2)) 460.35/164.20 mark(U84(x0, x1, x2)) 460.35/164.20 mark(U85(x0, x1)) 460.35/164.20 mark(U86(x0)) 460.35/164.20 mark(U91(x0, x1, x2)) 460.35/164.20 mark(U92(x0, x1, x2)) 460.35/164.20 mark(U93(x0, x1, x2)) 460.35/164.20 mark(U94(x0, x1)) 460.35/164.20 mark(s(x0)) 460.35/164.20 mark(length(x0)) 460.35/164.20 mark(nil) 460.35/164.20 cons(mark(x0), x1) 460.35/164.20 cons(x0, mark(x1)) 460.35/164.20 cons(active(x0), x1) 460.35/164.20 cons(x0, active(x1)) 460.35/164.20 U11(mark(x0), x1) 460.35/164.20 U11(x0, mark(x1)) 460.35/164.20 U11(active(x0), x1) 460.35/164.20 U11(x0, active(x1)) 460.35/164.20 U12(mark(x0), x1) 460.35/164.20 U12(x0, mark(x1)) 460.35/164.20 U12(active(x0), x1) 460.35/164.20 U12(x0, active(x1)) 460.35/164.20 isNatIListKind(mark(x0)) 460.35/164.20 isNatIListKind(active(x0)) 460.35/164.20 U13(mark(x0)) 460.35/164.20 U13(active(x0)) 460.35/164.20 isNatList(mark(x0)) 460.35/164.20 isNatList(active(x0)) 460.35/164.20 U21(mark(x0), x1) 460.35/164.20 U21(x0, mark(x1)) 460.35/164.20 U21(active(x0), x1) 460.35/164.20 U21(x0, active(x1)) 460.35/164.20 U22(mark(x0), x1) 460.35/164.20 U22(x0, mark(x1)) 460.35/164.20 U22(active(x0), x1) 460.35/164.20 U22(x0, active(x1)) 460.35/164.20 isNatKind(mark(x0)) 460.35/164.20 isNatKind(active(x0)) 460.35/164.20 U23(mark(x0)) 460.35/164.20 U23(active(x0)) 460.35/164.20 isNat(mark(x0)) 460.35/164.20 isNat(active(x0)) 460.35/164.20 U31(mark(x0), x1) 460.35/164.20 U31(x0, mark(x1)) 460.35/164.20 U31(active(x0), x1) 460.35/164.20 U31(x0, active(x1)) 460.35/164.20 U32(mark(x0), x1) 460.35/164.20 U32(x0, mark(x1)) 460.35/164.20 U32(active(x0), x1) 460.35/164.20 U32(x0, active(x1)) 460.35/164.20 U33(mark(x0)) 460.35/164.20 U33(active(x0)) 460.35/164.20 U41(mark(x0), x1, x2) 460.35/164.20 U41(x0, mark(x1), x2) 460.35/164.20 U41(x0, x1, mark(x2)) 460.35/164.20 U41(active(x0), x1, x2) 460.35/164.20 U41(x0, active(x1), x2) 460.35/164.20 U41(x0, x1, active(x2)) 460.35/164.20 U42(mark(x0), x1, x2) 460.35/164.20 U42(x0, mark(x1), x2) 460.35/164.20 U42(x0, x1, mark(x2)) 460.35/164.20 U42(active(x0), x1, x2) 460.35/164.20 U42(x0, active(x1), x2) 460.35/164.20 U42(x0, x1, active(x2)) 460.35/164.20 U43(mark(x0), x1, x2) 460.35/164.20 U43(x0, mark(x1), x2) 460.35/164.20 U43(x0, x1, mark(x2)) 460.35/164.20 U43(active(x0), x1, x2) 460.35/164.20 U43(x0, active(x1), x2) 460.35/164.20 U43(x0, x1, active(x2)) 460.35/164.20 U44(mark(x0), x1, x2) 460.35/164.20 U44(x0, mark(x1), x2) 460.35/164.20 U44(x0, x1, mark(x2)) 460.35/164.20 U44(active(x0), x1, x2) 460.35/164.20 U44(x0, active(x1), x2) 460.35/164.20 U44(x0, x1, active(x2)) 460.35/164.20 U45(mark(x0), x1) 460.35/164.20 U45(x0, mark(x1)) 460.35/164.20 U45(active(x0), x1) 460.35/164.20 U45(x0, active(x1)) 460.35/164.20 U46(mark(x0)) 460.35/164.20 U46(active(x0)) 460.35/164.20 isNatIList(mark(x0)) 460.35/164.20 isNatIList(active(x0)) 460.35/164.20 U51(mark(x0), x1) 460.35/164.20 U51(x0, mark(x1)) 460.35/164.20 U51(active(x0), x1) 460.35/164.20 U51(x0, active(x1)) 460.35/164.20 U52(mark(x0)) 460.35/164.20 U52(active(x0)) 460.35/164.20 U61(mark(x0)) 460.35/164.20 U61(active(x0)) 460.35/164.20 U71(mark(x0)) 460.35/164.20 U71(active(x0)) 460.35/164.20 U81(mark(x0), x1, x2) 460.35/164.20 U81(x0, mark(x1), x2) 460.35/164.20 U81(x0, x1, mark(x2)) 460.35/164.20 U81(active(x0), x1, x2) 460.35/164.20 U81(x0, active(x1), x2) 460.35/164.20 U81(x0, x1, active(x2)) 460.35/164.20 U82(mark(x0), x1, x2) 460.35/164.20 U82(x0, mark(x1), x2) 460.35/164.20 U82(x0, x1, mark(x2)) 460.35/164.20 U82(active(x0), x1, x2) 460.35/164.20 U82(x0, active(x1), x2) 460.35/164.20 U82(x0, x1, active(x2)) 460.35/164.20 U83(mark(x0), x1, x2) 460.35/164.20 U83(x0, mark(x1), x2) 460.35/164.20 U83(x0, x1, mark(x2)) 460.35/164.20 U83(active(x0), x1, x2) 460.35/164.20 U83(x0, active(x1), x2) 460.35/164.20 U83(x0, x1, active(x2)) 460.35/164.20 U84(mark(x0), x1, x2) 460.35/164.20 U84(x0, mark(x1), x2) 460.35/164.20 U84(x0, x1, mark(x2)) 460.35/164.20 U84(active(x0), x1, x2) 460.35/164.20 U84(x0, active(x1), x2) 460.35/164.20 U84(x0, x1, active(x2)) 460.35/164.20 U85(mark(x0), x1) 460.35/164.20 U85(x0, mark(x1)) 460.35/164.20 U85(active(x0), x1) 460.35/164.20 U85(x0, active(x1)) 460.35/164.20 U86(mark(x0)) 460.35/164.20 U86(active(x0)) 460.35/164.20 U91(mark(x0), x1, x2) 460.35/164.20 U91(x0, mark(x1), x2) 460.35/164.20 U91(x0, x1, mark(x2)) 460.35/164.20 U91(active(x0), x1, x2) 460.35/164.20 U91(x0, active(x1), x2) 460.35/164.20 U91(x0, x1, active(x2)) 460.35/164.20 U92(mark(x0), x1, x2) 460.35/164.20 U92(x0, mark(x1), x2) 460.35/164.20 U92(x0, x1, mark(x2)) 460.35/164.20 U92(active(x0), x1, x2) 460.35/164.20 U92(x0, active(x1), x2) 460.35/164.20 U92(x0, x1, active(x2)) 460.35/164.20 U93(mark(x0), x1, x2) 460.35/164.20 U93(x0, mark(x1), x2) 460.35/164.20 U93(x0, x1, mark(x2)) 460.35/164.20 U93(active(x0), x1, x2) 460.35/164.20 U93(x0, active(x1), x2) 460.35/164.20 U93(x0, x1, active(x2)) 460.35/164.20 U94(mark(x0), x1) 460.35/164.20 U94(x0, mark(x1)) 460.35/164.20 U94(active(x0), x1) 460.35/164.20 U94(x0, active(x1)) 460.35/164.20 s(mark(x0)) 460.35/164.20 s(active(x0)) 460.35/164.20 length(mark(x0)) 460.35/164.20 length(active(x0)) 460.35/164.20 460.35/164.20 We have to consider all minimal (P,Q,R)-chains. 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (271) QDPQMonotonicMRRProof (EQUIVALENT) 460.35/164.20 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. 460.35/164.20 460.35/164.20 460.35/164.20 Strictly oriented rules of the TRS R: 460.35/164.20 460.35/164.20 active(isNatList(nil)) -> mark(tt) 460.35/164.20 460.35/164.20 Used ordering: Polynomial interpretation [POLO]: 460.35/164.20 460.35/164.20 POL(0) = 0 460.35/164.20 POL(ACTIVE(x_1)) = 2*x_1 460.35/164.20 POL(MARK(x_1)) = 2*x_1 460.35/164.20 POL(U11(x_1, x_2)) = x_1 + 2*x_2 460.35/164.20 POL(U12(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(U13(x_1)) = x_1 460.35/164.20 POL(U21(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(U22(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(U23(x_1)) = x_1 460.35/164.20 POL(U31(x_1, x_2)) = 2*x_1 + 2*x_2 460.35/164.20 POL(U32(x_1, x_2)) = 2*x_1 + 2*x_2 460.35/164.20 POL(U33(x_1)) = 2*x_1 460.35/164.20 POL(U41(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U42(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U43(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U44(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U45(x_1, x_2)) = 2*x_1 + 2*x_2 460.35/164.20 POL(U46(x_1)) = x_1 460.35/164.20 POL(U51(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U52(x_1)) = 2*x_1 460.35/164.20 POL(U61(x_1)) = 2*x_1 460.35/164.20 POL(U71(x_1)) = 2*x_1 460.35/164.20 POL(U81(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 460.35/164.20 POL(U82(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 460.35/164.20 POL(U83(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 460.35/164.20 POL(U84(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 460.35/164.20 POL(U85(x_1, x_2)) = 2*x_1 + x_2 460.35/164.20 POL(U86(x_1)) = x_1 460.35/164.20 POL(U91(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U92(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 460.35/164.20 POL(U93(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 460.35/164.20 POL(U94(x_1, x_2)) = 2*x_1 + 2*x_2 460.35/164.20 POL(active(x_1)) = x_1 460.35/164.20 POL(cons(x_1, x_2)) = 2*x_1 + 2*x_2 460.35/164.20 POL(isNat(x_1)) = x_1 460.35/164.20 POL(isNatIList(x_1)) = 2*x_1 460.35/164.20 POL(isNatIListKind(x_1)) = 0 460.35/164.20 POL(isNatKind(x_1)) = 0 460.35/164.20 POL(isNatList(x_1)) = x_1 460.35/164.20 POL(length(x_1)) = 2*x_1 460.35/164.20 POL(mark(x_1)) = x_1 460.35/164.20 POL(nil) = 2 460.35/164.20 POL(s(x_1)) = x_1 460.35/164.20 POL(tt) = 0 460.35/164.20 POL(zeros) = 0 460.35/164.20 460.35/164.20 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (272) 460.35/164.20 Obligation: 460.35/164.20 Q DP problem: 460.35/164.20 The TRS P consists of the following rules: 460.35/164.20 460.35/164.20 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.20 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.20 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.20 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.20 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.20 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.20 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.20 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.20 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.20 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.20 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.20 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.20 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.20 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.20 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.20 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.20 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.20 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.20 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.20 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.20 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.20 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.20 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.20 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(zeros) -> ACTIVE(zeros) 460.35/164.20 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.20 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.20 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.20 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.20 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.20 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U13(X)) -> MARK(X) 460.35/164.20 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.20 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.20 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.20 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.20 MARK(U61(X)) -> MARK(X) 460.35/164.20 MARK(U23(X)) -> MARK(X) 460.35/164.20 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.20 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.20 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.20 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.20 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U33(X)) -> MARK(X) 460.35/164.20 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.20 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U46(X)) -> MARK(X) 460.35/164.20 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.20 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.20 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U52(X)) -> MARK(X) 460.35/164.20 MARK(U71(X)) -> MARK(X) 460.35/164.20 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U86(X)) -> MARK(X) 460.35/164.20 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(s(X)) -> MARK(X) 460.35/164.20 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.20 MARK(length(X)) -> MARK(X) 460.35/164.20 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.20 460.35/164.20 The TRS R consists of the following rules: 460.35/164.20 460.35/164.20 mark(zeros) -> active(zeros) 460.35/164.20 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.20 active(zeros) -> mark(cons(0, zeros)) 460.35/164.20 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.20 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.20 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.20 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.20 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.20 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.20 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.20 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.20 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.20 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.20 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.20 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.20 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.20 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.20 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.20 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.20 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.20 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.20 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.20 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.20 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.20 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.20 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.20 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.20 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.20 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.20 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.20 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.20 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.20 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.20 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.20 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.20 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.20 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.20 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.20 mark(s(X)) -> active(s(mark(X))) 460.35/164.20 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.20 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.20 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.20 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.20 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.20 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.20 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.20 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.20 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.20 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.20 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.20 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.20 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.20 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.20 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.20 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.20 mark(0) -> active(0) 460.35/164.20 mark(tt) -> active(tt) 460.35/164.20 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.20 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.20 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.20 mark(isNat(X)) -> active(isNat(X)) 460.35/164.20 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.20 mark(length(X)) -> active(length(mark(X))) 460.35/164.20 mark(nil) -> active(nil) 460.35/164.20 length(active(X)) -> length(X) 460.35/164.20 length(mark(X)) -> length(X) 460.35/164.20 active(U13(tt)) -> mark(tt) 460.35/164.20 active(U23(tt)) -> mark(tt) 460.35/164.20 active(U33(tt)) -> mark(tt) 460.35/164.20 active(U46(tt)) -> mark(tt) 460.35/164.20 active(U52(tt)) -> mark(tt) 460.35/164.20 active(U61(tt)) -> mark(tt) 460.35/164.20 active(U71(tt)) -> mark(tt) 460.35/164.20 active(U86(tt)) -> mark(tt) 460.35/164.20 active(isNat(0)) -> mark(tt) 460.35/164.20 active(isNatIList(zeros)) -> mark(tt) 460.35/164.20 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.20 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.20 active(isNatKind(0)) -> mark(tt) 460.35/164.20 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.20 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.20 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.20 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.20 U13(active(X)) -> U13(X) 460.35/164.20 U13(mark(X)) -> U13(X) 460.35/164.20 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.20 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.20 U23(active(X)) -> U23(X) 460.35/164.20 U23(mark(X)) -> U23(X) 460.35/164.20 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.20 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.20 U33(active(X)) -> U33(X) 460.35/164.20 U33(mark(X)) -> U33(X) 460.35/164.20 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.20 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.20 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.20 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.20 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.20 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.20 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.20 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.20 U46(active(X)) -> U46(X) 460.35/164.20 U46(mark(X)) -> U46(X) 460.35/164.20 U52(active(X)) -> U52(X) 460.35/164.20 U52(mark(X)) -> U52(X) 460.35/164.20 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.20 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.20 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.20 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.20 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.20 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.20 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.20 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.20 U86(active(X)) -> U86(X) 460.35/164.20 U86(mark(X)) -> U86(X) 460.35/164.20 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.20 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.20 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.20 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.20 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.20 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.20 s(active(X)) -> s(X) 460.35/164.20 s(mark(X)) -> s(X) 460.35/164.20 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.20 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.20 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.20 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.20 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.20 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.20 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.20 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.20 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.20 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.20 U61(active(X)) -> U61(X) 460.35/164.20 U61(mark(X)) -> U61(X) 460.35/164.20 U71(active(X)) -> U71(X) 460.35/164.20 U71(mark(X)) -> U71(X) 460.35/164.20 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.20 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.20 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.20 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.20 460.35/164.20 The set Q consists of the following terms: 460.35/164.20 460.35/164.20 active(zeros) 460.35/164.20 active(U11(tt, x0)) 460.35/164.20 active(U12(tt, x0)) 460.35/164.20 active(U13(tt)) 460.35/164.20 active(U21(tt, x0)) 460.35/164.20 active(U22(tt, x0)) 460.35/164.20 active(U23(tt)) 460.35/164.20 active(U31(tt, x0)) 460.35/164.20 active(U32(tt, x0)) 460.35/164.20 active(U33(tt)) 460.35/164.20 active(U41(tt, x0, x1)) 460.35/164.20 active(U42(tt, x0, x1)) 460.35/164.20 active(U43(tt, x0, x1)) 460.35/164.20 active(U44(tt, x0, x1)) 460.35/164.20 active(U45(tt, x0)) 460.35/164.20 active(U46(tt)) 460.35/164.20 active(U51(tt, x0)) 460.35/164.20 active(U52(tt)) 460.35/164.20 active(U61(tt)) 460.35/164.20 active(U71(tt)) 460.35/164.20 active(U81(tt, x0, x1)) 460.35/164.20 active(U82(tt, x0, x1)) 460.35/164.20 active(U83(tt, x0, x1)) 460.35/164.20 active(U84(tt, x0, x1)) 460.35/164.20 active(U85(tt, x0)) 460.35/164.20 active(U86(tt)) 460.35/164.20 active(U91(tt, x0, x1)) 460.35/164.20 active(U92(tt, x0, x1)) 460.35/164.20 active(U93(tt, x0, x1)) 460.35/164.20 active(U94(tt, x0)) 460.35/164.20 active(isNat(0)) 460.35/164.20 active(isNat(length(x0))) 460.35/164.20 active(isNat(s(x0))) 460.35/164.20 active(isNatIList(x0)) 460.35/164.20 active(isNatIListKind(nil)) 460.35/164.20 active(isNatIListKind(zeros)) 460.35/164.20 active(isNatIListKind(cons(x0, x1))) 460.35/164.20 active(isNatKind(0)) 460.35/164.20 active(isNatKind(length(x0))) 460.35/164.20 active(isNatKind(s(x0))) 460.35/164.20 active(isNatList(nil)) 460.35/164.20 active(isNatList(cons(x0, x1))) 460.35/164.20 active(length(nil)) 460.35/164.20 active(length(cons(x0, x1))) 460.35/164.20 mark(zeros) 460.35/164.20 mark(cons(x0, x1)) 460.35/164.20 mark(0) 460.35/164.20 mark(U11(x0, x1)) 460.35/164.20 mark(tt) 460.35/164.20 mark(U12(x0, x1)) 460.35/164.20 mark(isNatIListKind(x0)) 460.35/164.20 mark(U13(x0)) 460.35/164.20 mark(isNatList(x0)) 460.35/164.20 mark(U21(x0, x1)) 460.35/164.20 mark(U22(x0, x1)) 460.35/164.20 mark(isNatKind(x0)) 460.35/164.20 mark(U23(x0)) 460.35/164.20 mark(isNat(x0)) 460.35/164.20 mark(U31(x0, x1)) 460.35/164.20 mark(U32(x0, x1)) 460.35/164.20 mark(U33(x0)) 460.35/164.20 mark(U41(x0, x1, x2)) 460.35/164.20 mark(U42(x0, x1, x2)) 460.35/164.20 mark(U43(x0, x1, x2)) 460.35/164.20 mark(U44(x0, x1, x2)) 460.35/164.20 mark(U45(x0, x1)) 460.35/164.20 mark(U46(x0)) 460.35/164.20 mark(isNatIList(x0)) 460.35/164.20 mark(U51(x0, x1)) 460.35/164.20 mark(U52(x0)) 460.35/164.20 mark(U61(x0)) 460.35/164.20 mark(U71(x0)) 460.35/164.20 mark(U81(x0, x1, x2)) 460.35/164.20 mark(U82(x0, x1, x2)) 460.35/164.20 mark(U83(x0, x1, x2)) 460.35/164.20 mark(U84(x0, x1, x2)) 460.35/164.20 mark(U85(x0, x1)) 460.35/164.20 mark(U86(x0)) 460.35/164.20 mark(U91(x0, x1, x2)) 460.35/164.20 mark(U92(x0, x1, x2)) 460.35/164.20 mark(U93(x0, x1, x2)) 460.35/164.20 mark(U94(x0, x1)) 460.35/164.20 mark(s(x0)) 460.35/164.20 mark(length(x0)) 460.35/164.20 mark(nil) 460.35/164.20 cons(mark(x0), x1) 460.35/164.20 cons(x0, mark(x1)) 460.35/164.20 cons(active(x0), x1) 460.35/164.20 cons(x0, active(x1)) 460.35/164.20 U11(mark(x0), x1) 460.35/164.20 U11(x0, mark(x1)) 460.35/164.20 U11(active(x0), x1) 460.35/164.20 U11(x0, active(x1)) 460.35/164.20 U12(mark(x0), x1) 460.35/164.20 U12(x0, mark(x1)) 460.35/164.20 U12(active(x0), x1) 460.35/164.20 U12(x0, active(x1)) 460.35/164.20 isNatIListKind(mark(x0)) 460.35/164.20 isNatIListKind(active(x0)) 460.35/164.20 U13(mark(x0)) 460.35/164.20 U13(active(x0)) 460.35/164.20 isNatList(mark(x0)) 460.35/164.20 isNatList(active(x0)) 460.35/164.20 U21(mark(x0), x1) 460.35/164.20 U21(x0, mark(x1)) 460.35/164.20 U21(active(x0), x1) 460.35/164.20 U21(x0, active(x1)) 460.35/164.20 U22(mark(x0), x1) 460.35/164.20 U22(x0, mark(x1)) 460.35/164.20 U22(active(x0), x1) 460.35/164.20 U22(x0, active(x1)) 460.35/164.20 isNatKind(mark(x0)) 460.35/164.20 isNatKind(active(x0)) 460.35/164.20 U23(mark(x0)) 460.35/164.20 U23(active(x0)) 460.35/164.20 isNat(mark(x0)) 460.35/164.20 isNat(active(x0)) 460.35/164.20 U31(mark(x0), x1) 460.35/164.20 U31(x0, mark(x1)) 460.35/164.20 U31(active(x0), x1) 460.35/164.20 U31(x0, active(x1)) 460.35/164.20 U32(mark(x0), x1) 460.35/164.20 U32(x0, mark(x1)) 460.35/164.20 U32(active(x0), x1) 460.35/164.20 U32(x0, active(x1)) 460.35/164.20 U33(mark(x0)) 460.35/164.20 U33(active(x0)) 460.35/164.20 U41(mark(x0), x1, x2) 460.35/164.20 U41(x0, mark(x1), x2) 460.35/164.20 U41(x0, x1, mark(x2)) 460.35/164.20 U41(active(x0), x1, x2) 460.35/164.20 U41(x0, active(x1), x2) 460.35/164.20 U41(x0, x1, active(x2)) 460.35/164.20 U42(mark(x0), x1, x2) 460.35/164.20 U42(x0, mark(x1), x2) 460.35/164.20 U42(x0, x1, mark(x2)) 460.35/164.20 U42(active(x0), x1, x2) 460.35/164.20 U42(x0, active(x1), x2) 460.35/164.20 U42(x0, x1, active(x2)) 460.35/164.20 U43(mark(x0), x1, x2) 460.35/164.20 U43(x0, mark(x1), x2) 460.35/164.20 U43(x0, x1, mark(x2)) 460.35/164.20 U43(active(x0), x1, x2) 460.35/164.20 U43(x0, active(x1), x2) 460.35/164.20 U43(x0, x1, active(x2)) 460.35/164.20 U44(mark(x0), x1, x2) 460.35/164.20 U44(x0, mark(x1), x2) 460.35/164.20 U44(x0, x1, mark(x2)) 460.35/164.20 U44(active(x0), x1, x2) 460.35/164.20 U44(x0, active(x1), x2) 460.35/164.20 U44(x0, x1, active(x2)) 460.35/164.20 U45(mark(x0), x1) 460.35/164.20 U45(x0, mark(x1)) 460.35/164.20 U45(active(x0), x1) 460.35/164.20 U45(x0, active(x1)) 460.35/164.20 U46(mark(x0)) 460.35/164.20 U46(active(x0)) 460.35/164.20 isNatIList(mark(x0)) 460.35/164.20 isNatIList(active(x0)) 460.35/164.20 U51(mark(x0), x1) 460.35/164.20 U51(x0, mark(x1)) 460.35/164.20 U51(active(x0), x1) 460.35/164.20 U51(x0, active(x1)) 460.35/164.20 U52(mark(x0)) 460.35/164.20 U52(active(x0)) 460.35/164.20 U61(mark(x0)) 460.35/164.20 U61(active(x0)) 460.35/164.20 U71(mark(x0)) 460.35/164.20 U71(active(x0)) 460.35/164.20 U81(mark(x0), x1, x2) 460.35/164.20 U81(x0, mark(x1), x2) 460.35/164.20 U81(x0, x1, mark(x2)) 460.35/164.20 U81(active(x0), x1, x2) 460.35/164.20 U81(x0, active(x1), x2) 460.35/164.20 U81(x0, x1, active(x2)) 460.35/164.20 U82(mark(x0), x1, x2) 460.35/164.20 U82(x0, mark(x1), x2) 460.35/164.20 U82(x0, x1, mark(x2)) 460.35/164.20 U82(active(x0), x1, x2) 460.35/164.20 U82(x0, active(x1), x2) 460.35/164.20 U82(x0, x1, active(x2)) 460.35/164.20 U83(mark(x0), x1, x2) 460.35/164.20 U83(x0, mark(x1), x2) 460.35/164.20 U83(x0, x1, mark(x2)) 460.35/164.20 U83(active(x0), x1, x2) 460.35/164.20 U83(x0, active(x1), x2) 460.35/164.20 U83(x0, x1, active(x2)) 460.35/164.20 U84(mark(x0), x1, x2) 460.35/164.20 U84(x0, mark(x1), x2) 460.35/164.20 U84(x0, x1, mark(x2)) 460.35/164.20 U84(active(x0), x1, x2) 460.35/164.20 U84(x0, active(x1), x2) 460.35/164.20 U84(x0, x1, active(x2)) 460.35/164.20 U85(mark(x0), x1) 460.35/164.20 U85(x0, mark(x1)) 460.35/164.20 U85(active(x0), x1) 460.35/164.20 U85(x0, active(x1)) 460.35/164.20 U86(mark(x0)) 460.35/164.20 U86(active(x0)) 460.35/164.20 U91(mark(x0), x1, x2) 460.35/164.20 U91(x0, mark(x1), x2) 460.35/164.20 U91(x0, x1, mark(x2)) 460.35/164.20 U91(active(x0), x1, x2) 460.35/164.20 U91(x0, active(x1), x2) 460.35/164.20 U91(x0, x1, active(x2)) 460.35/164.20 U92(mark(x0), x1, x2) 460.35/164.20 U92(x0, mark(x1), x2) 460.35/164.20 U92(x0, x1, mark(x2)) 460.35/164.20 U92(active(x0), x1, x2) 460.35/164.20 U92(x0, active(x1), x2) 460.35/164.20 U92(x0, x1, active(x2)) 460.35/164.20 U93(mark(x0), x1, x2) 460.35/164.20 U93(x0, mark(x1), x2) 460.35/164.20 U93(x0, x1, mark(x2)) 460.35/164.20 U93(active(x0), x1, x2) 460.35/164.20 U93(x0, active(x1), x2) 460.35/164.20 U93(x0, x1, active(x2)) 460.35/164.20 U94(mark(x0), x1) 460.35/164.20 U94(x0, mark(x1)) 460.35/164.20 U94(active(x0), x1) 460.35/164.20 U94(x0, active(x1)) 460.35/164.20 s(mark(x0)) 460.35/164.20 s(active(x0)) 460.35/164.20 length(mark(x0)) 460.35/164.20 length(active(x0)) 460.35/164.20 460.35/164.20 We have to consider all minimal (P,Q,R)-chains. 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (273) QDPQMonotonicMRRProof (EQUIVALENT) 460.35/164.20 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. 460.35/164.20 460.35/164.20 Strictly oriented dependency pairs: 460.35/164.20 460.35/164.20 MARK(U91(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U92(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U93(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U94(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(length(X)) -> MARK(X) 460.35/164.20 460.35/164.20 460.35/164.20 Used ordering: Polynomial interpretation [POLO]: 460.35/164.20 460.35/164.20 POL(0) = 0 460.35/164.20 POL(ACTIVE(x_1)) = x_1 460.35/164.20 POL(MARK(x_1)) = x_1 460.35/164.20 POL(U11(x_1, x_2)) = x_1 460.35/164.20 POL(U12(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U13(x_1)) = x_1 460.35/164.20 POL(U21(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U22(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U23(x_1)) = x_1 460.35/164.20 POL(U31(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U32(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U33(x_1)) = 2*x_1 460.35/164.20 POL(U41(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U42(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U43(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U44(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U45(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U46(x_1)) = 2*x_1 460.35/164.20 POL(U51(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U52(x_1)) = 2*x_1 460.35/164.20 POL(U61(x_1)) = x_1 460.35/164.20 POL(U71(x_1)) = x_1 460.35/164.20 POL(U81(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U82(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U83(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U84(x_1, x_2, x_3)) = 2*x_1 460.35/164.20 POL(U85(x_1, x_2)) = 2*x_1 460.35/164.20 POL(U86(x_1)) = 2*x_1 460.35/164.20 POL(U91(x_1, x_2, x_3)) = 2 + 2*x_1 + x_2 + x_3 460.35/164.20 POL(U92(x_1, x_2, x_3)) = 2 + 2*x_1 + x_2 460.35/164.20 POL(U93(x_1, x_2, x_3)) = 2 + 2*x_1 + x_2 460.35/164.20 POL(U94(x_1, x_2)) = 2 + 2*x_1 + x_2 460.35/164.20 POL(active(x_1)) = x_1 460.35/164.20 POL(cons(x_1, x_2)) = x_1 + 2*x_2 460.35/164.20 POL(isNat(x_1)) = 0 460.35/164.20 POL(isNatIList(x_1)) = 0 460.35/164.20 POL(isNatIListKind(x_1)) = 0 460.35/164.20 POL(isNatKind(x_1)) = 0 460.35/164.20 POL(isNatList(x_1)) = 0 460.35/164.20 POL(length(x_1)) = 2 + x_1 460.35/164.20 POL(mark(x_1)) = x_1 460.35/164.20 POL(nil) = 0 460.35/164.20 POL(s(x_1)) = x_1 460.35/164.20 POL(tt) = 0 460.35/164.20 POL(zeros) = 0 460.35/164.20 460.35/164.20 460.35/164.20 ---------------------------------------- 460.35/164.20 460.35/164.20 (274) 460.35/164.20 Obligation: 460.35/164.20 Q DP problem: 460.35/164.20 The TRS P consists of the following rules: 460.35/164.20 460.35/164.20 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.35/164.20 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.35/164.20 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.35/164.20 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.35/164.20 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.35/164.20 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.35/164.20 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.35/164.20 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.35/164.20 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.35/164.20 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.35/164.20 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.35/164.20 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.35/164.20 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.35/164.20 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.35/164.20 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.35/164.20 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.35/164.20 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.35/164.20 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.35/164.20 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.35/164.20 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.35/164.20 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.35/164.20 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.35/164.20 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.35/164.20 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.35/164.20 MARK(zeros) -> ACTIVE(zeros) 460.35/164.20 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.35/164.20 MARK(cons(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.35/164.20 MARK(U11(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U12(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.35/164.20 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.35/164.20 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.35/164.20 MARK(U51(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U13(X)) -> MARK(X) 460.35/164.20 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.35/164.20 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.35/164.20 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.35/164.20 MARK(U21(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U22(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.35/164.20 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.35/164.20 MARK(U61(X)) -> MARK(X) 460.35/164.20 MARK(U23(X)) -> MARK(X) 460.35/164.20 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.35/164.20 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.35/164.20 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.35/164.20 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.35/164.20 MARK(U31(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U32(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U33(X)) -> MARK(X) 460.35/164.20 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.35/164.20 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U45(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U46(X)) -> MARK(X) 460.35/164.20 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.35/164.20 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.35/164.20 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.35/164.20 MARK(U52(X)) -> MARK(X) 460.35/164.20 MARK(U71(X)) -> MARK(X) 460.35/164.20 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.35/164.20 MARK(U85(X1, X2)) -> MARK(X1) 460.35/164.20 MARK(U86(X)) -> MARK(X) 460.35/164.20 MARK(s(X)) -> MARK(X) 460.35/164.20 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.35/164.20 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.35/164.20 460.35/164.20 The TRS R consists of the following rules: 460.35/164.20 460.35/164.20 mark(zeros) -> active(zeros) 460.35/164.20 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.35/164.20 active(zeros) -> mark(cons(0, zeros)) 460.35/164.20 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.35/164.20 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.35/164.20 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.35/164.20 mark(U13(X)) -> active(U13(mark(X))) 460.35/164.20 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.35/164.20 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.35/164.20 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.35/164.20 mark(U23(X)) -> active(U23(mark(X))) 460.35/164.20 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.35/164.20 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.35/164.20 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.35/164.20 mark(U33(X)) -> active(U33(mark(X))) 460.35/164.20 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.35/164.20 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.35/164.20 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.35/164.20 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.35/164.20 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.35/164.20 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.35/164.20 mark(U46(X)) -> active(U46(mark(X))) 460.35/164.20 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.35/164.20 mark(U52(X)) -> active(U52(mark(X))) 460.35/164.20 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.35/164.20 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.35/164.20 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.35/164.20 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.35/164.20 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.35/164.20 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.35/164.20 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.35/164.20 mark(U86(X)) -> active(U86(mark(X))) 460.35/164.20 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.35/164.20 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.35/164.20 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.35/164.20 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.35/164.20 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.35/164.20 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.35/164.20 active(U94(tt, L)) -> mark(s(length(L))) 460.35/164.20 mark(s(X)) -> active(s(mark(X))) 460.35/164.20 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.35/164.20 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.35/164.20 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.35/164.20 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.35/164.20 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.35/164.20 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.35/164.20 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.35/164.20 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.35/164.20 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.35/164.20 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.35/164.20 mark(U61(X)) -> active(U61(mark(X))) 460.35/164.20 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.35/164.20 mark(U71(X)) -> active(U71(mark(X))) 460.35/164.20 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.35/164.20 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.35/164.20 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.35/164.20 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.35/164.20 mark(0) -> active(0) 460.35/164.20 mark(tt) -> active(tt) 460.35/164.20 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.35/164.20 mark(isNatList(X)) -> active(isNatList(X)) 460.35/164.20 mark(isNatKind(X)) -> active(isNatKind(X)) 460.35/164.20 mark(isNat(X)) -> active(isNat(X)) 460.35/164.20 mark(isNatIList(X)) -> active(isNatIList(X)) 460.35/164.20 mark(length(X)) -> active(length(mark(X))) 460.35/164.20 mark(nil) -> active(nil) 460.35/164.20 length(active(X)) -> length(X) 460.35/164.20 length(mark(X)) -> length(X) 460.35/164.20 active(U13(tt)) -> mark(tt) 460.35/164.20 active(U23(tt)) -> mark(tt) 460.35/164.20 active(U33(tt)) -> mark(tt) 460.35/164.20 active(U46(tt)) -> mark(tt) 460.35/164.20 active(U52(tt)) -> mark(tt) 460.35/164.20 active(U61(tt)) -> mark(tt) 460.35/164.20 active(U71(tt)) -> mark(tt) 460.35/164.20 active(U86(tt)) -> mark(tt) 460.35/164.20 active(isNat(0)) -> mark(tt) 460.35/164.20 active(isNatIList(zeros)) -> mark(tt) 460.35/164.20 active(isNatIListKind(nil)) -> mark(tt) 460.35/164.20 active(isNatIListKind(zeros)) -> mark(tt) 460.35/164.20 active(isNatKind(0)) -> mark(tt) 460.35/164.20 cons(X1, mark(X2)) -> cons(X1, X2) 460.35/164.20 cons(mark(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(active(X1), X2) -> cons(X1, X2) 460.35/164.20 cons(X1, active(X2)) -> cons(X1, X2) 460.35/164.20 U12(X1, mark(X2)) -> U12(X1, X2) 460.35/164.20 U12(mark(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(active(X1), X2) -> U12(X1, X2) 460.35/164.20 U12(X1, active(X2)) -> U12(X1, X2) 460.35/164.20 U13(active(X)) -> U13(X) 460.35/164.20 U13(mark(X)) -> U13(X) 460.35/164.20 U22(X1, mark(X2)) -> U22(X1, X2) 460.35/164.20 U22(mark(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(active(X1), X2) -> U22(X1, X2) 460.35/164.20 U22(X1, active(X2)) -> U22(X1, X2) 460.35/164.20 U23(active(X)) -> U23(X) 460.35/164.20 U23(mark(X)) -> U23(X) 460.35/164.20 U32(X1, mark(X2)) -> U32(X1, X2) 460.35/164.20 U32(mark(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(active(X1), X2) -> U32(X1, X2) 460.35/164.20 U32(X1, active(X2)) -> U32(X1, X2) 460.35/164.20 U33(active(X)) -> U33(X) 460.35/164.20 U33(mark(X)) -> U33(X) 460.35/164.20 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.35/164.20 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.35/164.20 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.35/164.20 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.35/164.20 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.35/164.20 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.35/164.20 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.35/164.20 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.35/164.20 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.35/164.20 U45(X1, mark(X2)) -> U45(X1, X2) 460.35/164.20 U45(mark(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(active(X1), X2) -> U45(X1, X2) 460.35/164.20 U45(X1, active(X2)) -> U45(X1, X2) 460.35/164.20 U46(active(X)) -> U46(X) 460.35/164.20 U46(mark(X)) -> U46(X) 460.35/164.20 U52(active(X)) -> U52(X) 460.35/164.20 U52(mark(X)) -> U52(X) 460.35/164.20 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.35/164.20 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.35/164.20 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.35/164.20 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.35/164.20 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.35/164.20 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.35/164.20 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.35/164.20 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.35/164.20 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.35/164.20 U85(X1, mark(X2)) -> U85(X1, X2) 460.35/164.20 U85(mark(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(active(X1), X2) -> U85(X1, X2) 460.35/164.20 U85(X1, active(X2)) -> U85(X1, X2) 460.35/164.20 U86(active(X)) -> U86(X) 460.35/164.20 U86(mark(X)) -> U86(X) 460.35/164.20 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.35/164.20 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.35/164.20 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.35/164.20 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.35/164.20 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.35/164.20 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.35/164.20 U94(X1, mark(X2)) -> U94(X1, X2) 460.35/164.20 U94(mark(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(active(X1), X2) -> U94(X1, X2) 460.35/164.20 U94(X1, active(X2)) -> U94(X1, X2) 460.35/164.20 s(active(X)) -> s(X) 460.35/164.20 s(mark(X)) -> s(X) 460.35/164.20 U11(X1, mark(X2)) -> U11(X1, X2) 460.35/164.20 U11(mark(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(active(X1), X2) -> U11(X1, X2) 460.35/164.20 U11(X1, active(X2)) -> U11(X1, X2) 460.35/164.20 U21(X1, mark(X2)) -> U21(X1, X2) 460.35/164.20 U21(mark(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(active(X1), X2) -> U21(X1, X2) 460.35/164.20 U21(X1, active(X2)) -> U21(X1, X2) 460.35/164.20 U31(X1, mark(X2)) -> U31(X1, X2) 460.35/164.20 U31(mark(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(active(X1), X2) -> U31(X1, X2) 460.35/164.20 U31(X1, active(X2)) -> U31(X1, X2) 460.35/164.20 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.35/164.20 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.35/164.20 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.35/164.20 U51(X1, mark(X2)) -> U51(X1, X2) 460.35/164.20 U51(mark(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(active(X1), X2) -> U51(X1, X2) 460.35/164.20 U51(X1, active(X2)) -> U51(X1, X2) 460.35/164.20 U61(active(X)) -> U61(X) 460.35/164.20 U61(mark(X)) -> U61(X) 460.35/164.20 U71(active(X)) -> U71(X) 460.35/164.20 U71(mark(X)) -> U71(X) 460.35/164.20 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.35/164.20 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.35/164.20 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.35/164.20 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.35/164.20 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.35/164.20 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.35/164.20 460.35/164.20 The set Q consists of the following terms: 460.35/164.20 460.35/164.20 active(zeros) 460.35/164.20 active(U11(tt, x0)) 460.35/164.20 active(U12(tt, x0)) 460.35/164.20 active(U13(tt)) 460.35/164.20 active(U21(tt, x0)) 460.35/164.20 active(U22(tt, x0)) 460.35/164.20 active(U23(tt)) 460.35/164.20 active(U31(tt, x0)) 460.35/164.20 active(U32(tt, x0)) 460.35/164.20 active(U33(tt)) 460.35/164.20 active(U41(tt, x0, x1)) 460.35/164.20 active(U42(tt, x0, x1)) 460.35/164.20 active(U43(tt, x0, x1)) 460.35/164.20 active(U44(tt, x0, x1)) 460.35/164.20 active(U45(tt, x0)) 460.35/164.20 active(U46(tt)) 460.35/164.20 active(U51(tt, x0)) 460.35/164.20 active(U52(tt)) 460.35/164.20 active(U61(tt)) 460.35/164.20 active(U71(tt)) 460.35/164.20 active(U81(tt, x0, x1)) 460.35/164.20 active(U82(tt, x0, x1)) 460.35/164.20 active(U83(tt, x0, x1)) 460.35/164.20 active(U84(tt, x0, x1)) 460.35/164.20 active(U85(tt, x0)) 460.35/164.20 active(U86(tt)) 460.35/164.20 active(U91(tt, x0, x1)) 460.35/164.20 active(U92(tt, x0, x1)) 460.35/164.20 active(U93(tt, x0, x1)) 460.35/164.20 active(U94(tt, x0)) 460.35/164.20 active(isNat(0)) 460.35/164.20 active(isNat(length(x0))) 460.35/164.20 active(isNat(s(x0))) 460.35/164.20 active(isNatIList(x0)) 460.35/164.20 active(isNatIListKind(nil)) 460.35/164.20 active(isNatIListKind(zeros)) 460.35/164.20 active(isNatIListKind(cons(x0, x1))) 460.35/164.20 active(isNatKind(0)) 460.35/164.20 active(isNatKind(length(x0))) 460.35/164.20 active(isNatKind(s(x0))) 460.35/164.20 active(isNatList(nil)) 460.35/164.20 active(isNatList(cons(x0, x1))) 460.35/164.20 active(length(nil)) 460.35/164.20 active(length(cons(x0, x1))) 460.35/164.20 mark(zeros) 460.35/164.20 mark(cons(x0, x1)) 460.35/164.20 mark(0) 460.35/164.20 mark(U11(x0, x1)) 460.35/164.20 mark(tt) 460.35/164.20 mark(U12(x0, x1)) 460.35/164.20 mark(isNatIListKind(x0)) 460.35/164.20 mark(U13(x0)) 460.35/164.20 mark(isNatList(x0)) 460.35/164.20 mark(U21(x0, x1)) 460.35/164.20 mark(U22(x0, x1)) 460.35/164.20 mark(isNatKind(x0)) 460.35/164.20 mark(U23(x0)) 460.35/164.20 mark(isNat(x0)) 460.35/164.20 mark(U31(x0, x1)) 460.35/164.20 mark(U32(x0, x1)) 460.35/164.20 mark(U33(x0)) 460.35/164.20 mark(U41(x0, x1, x2)) 460.35/164.20 mark(U42(x0, x1, x2)) 460.35/164.20 mark(U43(x0, x1, x2)) 460.35/164.20 mark(U44(x0, x1, x2)) 460.35/164.20 mark(U45(x0, x1)) 460.35/164.20 mark(U46(x0)) 460.35/164.20 mark(isNatIList(x0)) 460.35/164.20 mark(U51(x0, x1)) 460.35/164.20 mark(U52(x0)) 460.35/164.20 mark(U61(x0)) 460.35/164.20 mark(U71(x0)) 460.35/164.20 mark(U81(x0, x1, x2)) 460.35/164.20 mark(U82(x0, x1, x2)) 460.35/164.20 mark(U83(x0, x1, x2)) 460.35/164.20 mark(U84(x0, x1, x2)) 460.35/164.20 mark(U85(x0, x1)) 460.35/164.20 mark(U86(x0)) 460.35/164.20 mark(U91(x0, x1, x2)) 460.35/164.20 mark(U92(x0, x1, x2)) 460.35/164.20 mark(U93(x0, x1, x2)) 460.35/164.20 mark(U94(x0, x1)) 460.35/164.20 mark(s(x0)) 460.35/164.20 mark(length(x0)) 460.35/164.20 mark(nil) 460.35/164.20 cons(mark(x0), x1) 460.35/164.20 cons(x0, mark(x1)) 460.35/164.20 cons(active(x0), x1) 460.35/164.20 cons(x0, active(x1)) 460.35/164.20 U11(mark(x0), x1) 460.35/164.20 U11(x0, mark(x1)) 460.35/164.20 U11(active(x0), x1) 460.35/164.20 U11(x0, active(x1)) 460.35/164.20 U12(mark(x0), x1) 460.35/164.20 U12(x0, mark(x1)) 460.35/164.20 U12(active(x0), x1) 460.35/164.20 U12(x0, active(x1)) 460.35/164.20 isNatIListKind(mark(x0)) 460.35/164.20 isNatIListKind(active(x0)) 460.35/164.20 U13(mark(x0)) 460.35/164.20 U13(active(x0)) 460.35/164.20 isNatList(mark(x0)) 460.35/164.20 isNatList(active(x0)) 460.35/164.20 U21(mark(x0), x1) 460.35/164.20 U21(x0, mark(x1)) 460.35/164.20 U21(active(x0), x1) 460.35/164.20 U21(x0, active(x1)) 460.35/164.20 U22(mark(x0), x1) 460.35/164.20 U22(x0, mark(x1)) 460.35/164.20 U22(active(x0), x1) 460.35/164.20 U22(x0, active(x1)) 460.35/164.20 isNatKind(mark(x0)) 460.35/164.20 isNatKind(active(x0)) 460.35/164.20 U23(mark(x0)) 460.35/164.20 U23(active(x0)) 460.35/164.20 isNat(mark(x0)) 460.35/164.20 isNat(active(x0)) 460.35/164.20 U31(mark(x0), x1) 460.35/164.20 U31(x0, mark(x1)) 460.35/164.20 U31(active(x0), x1) 460.35/164.20 U31(x0, active(x1)) 460.35/164.20 U32(mark(x0), x1) 460.35/164.20 U32(x0, mark(x1)) 460.35/164.20 U32(active(x0), x1) 460.35/164.20 U32(x0, active(x1)) 460.35/164.20 U33(mark(x0)) 460.35/164.20 U33(active(x0)) 460.35/164.20 U41(mark(x0), x1, x2) 460.35/164.20 U41(x0, mark(x1), x2) 460.35/164.20 U41(x0, x1, mark(x2)) 460.35/164.20 U41(active(x0), x1, x2) 460.35/164.20 U41(x0, active(x1), x2) 460.35/164.20 U41(x0, x1, active(x2)) 460.35/164.20 U42(mark(x0), x1, x2) 460.35/164.20 U42(x0, mark(x1), x2) 460.35/164.20 U42(x0, x1, mark(x2)) 460.35/164.20 U42(active(x0), x1, x2) 460.35/164.20 U42(x0, active(x1), x2) 460.35/164.20 U42(x0, x1, active(x2)) 460.35/164.20 U43(mark(x0), x1, x2) 460.35/164.20 U43(x0, mark(x1), x2) 460.35/164.20 U43(x0, x1, mark(x2)) 460.35/164.20 U43(active(x0), x1, x2) 460.35/164.20 U43(x0, active(x1), x2) 460.35/164.20 U43(x0, x1, active(x2)) 460.35/164.20 U44(mark(x0), x1, x2) 460.35/164.20 U44(x0, mark(x1), x2) 460.35/164.20 U44(x0, x1, mark(x2)) 460.35/164.20 U44(active(x0), x1, x2) 460.35/164.20 U44(x0, active(x1), x2) 460.35/164.20 U44(x0, x1, active(x2)) 460.35/164.20 U45(mark(x0), x1) 460.35/164.20 U45(x0, mark(x1)) 460.35/164.20 U45(active(x0), x1) 460.35/164.20 U45(x0, active(x1)) 460.35/164.20 U46(mark(x0)) 460.35/164.20 U46(active(x0)) 460.35/164.20 isNatIList(mark(x0)) 460.35/164.20 isNatIList(active(x0)) 460.35/164.20 U51(mark(x0), x1) 460.35/164.20 U51(x0, mark(x1)) 460.35/164.20 U51(active(x0), x1) 460.35/164.20 U51(x0, active(x1)) 460.35/164.20 U52(mark(x0)) 460.35/164.20 U52(active(x0)) 460.35/164.20 U61(mark(x0)) 460.35/164.20 U61(active(x0)) 460.35/164.20 U71(mark(x0)) 460.35/164.20 U71(active(x0)) 460.35/164.20 U81(mark(x0), x1, x2) 460.35/164.20 U81(x0, mark(x1), x2) 460.35/164.20 U81(x0, x1, mark(x2)) 460.35/164.20 U81(active(x0), x1, x2) 460.35/164.20 U81(x0, active(x1), x2) 460.35/164.20 U81(x0, x1, active(x2)) 460.35/164.20 U82(mark(x0), x1, x2) 460.35/164.20 U82(x0, mark(x1), x2) 460.35/164.20 U82(x0, x1, mark(x2)) 460.35/164.20 U82(active(x0), x1, x2) 460.35/164.20 U82(x0, active(x1), x2) 460.35/164.20 U82(x0, x1, active(x2)) 460.35/164.20 U83(mark(x0), x1, x2) 460.35/164.20 U83(x0, mark(x1), x2) 460.36/164.20 U83(x0, x1, mark(x2)) 460.36/164.20 U83(active(x0), x1, x2) 460.36/164.20 U83(x0, active(x1), x2) 460.36/164.20 U83(x0, x1, active(x2)) 460.36/164.20 U84(mark(x0), x1, x2) 460.36/164.20 U84(x0, mark(x1), x2) 460.36/164.20 U84(x0, x1, mark(x2)) 460.36/164.20 U84(active(x0), x1, x2) 460.36/164.20 U84(x0, active(x1), x2) 460.36/164.20 U84(x0, x1, active(x2)) 460.36/164.20 U85(mark(x0), x1) 460.36/164.20 U85(x0, mark(x1)) 460.36/164.20 U85(active(x0), x1) 460.36/164.20 U85(x0, active(x1)) 460.36/164.20 U86(mark(x0)) 460.36/164.20 U86(active(x0)) 460.36/164.20 U91(mark(x0), x1, x2) 460.36/164.20 U91(x0, mark(x1), x2) 460.36/164.20 U91(x0, x1, mark(x2)) 460.36/164.20 U91(active(x0), x1, x2) 460.36/164.20 U91(x0, active(x1), x2) 460.36/164.20 U91(x0, x1, active(x2)) 460.36/164.20 U92(mark(x0), x1, x2) 460.36/164.20 U92(x0, mark(x1), x2) 460.36/164.20 U92(x0, x1, mark(x2)) 460.36/164.20 U92(active(x0), x1, x2) 460.36/164.20 U92(x0, active(x1), x2) 460.36/164.20 U92(x0, x1, active(x2)) 460.36/164.20 U93(mark(x0), x1, x2) 460.36/164.20 U93(x0, mark(x1), x2) 460.36/164.20 U93(x0, x1, mark(x2)) 460.36/164.20 U93(active(x0), x1, x2) 460.36/164.20 U93(x0, active(x1), x2) 460.36/164.20 U93(x0, x1, active(x2)) 460.36/164.20 U94(mark(x0), x1) 460.36/164.20 U94(x0, mark(x1)) 460.36/164.20 U94(active(x0), x1) 460.36/164.20 U94(x0, active(x1)) 460.36/164.20 s(mark(x0)) 460.36/164.20 s(active(x0)) 460.36/164.20 length(mark(x0)) 460.36/164.20 length(active(x0)) 460.36/164.21 460.36/164.21 We have to consider all minimal (P,Q,R)-chains. 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (275) QDPOrderProof (EQUIVALENT) 460.36/164.21 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.21 460.36/164.21 460.36/164.21 The following pairs can be oriented strictly and are deleted. 460.36/164.21 460.36/164.21 MARK(zeros) -> ACTIVE(zeros) 460.36/164.21 The remaining pairs can at least be oriented weakly. 460.36/164.21 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.21 460.36/164.21 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.21 POL( U11_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U12_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U31_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U32_2(x_1, x_2) ) = x_1 + 1 460.36/164.21 POL( U41_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.21 POL( U42_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.21 POL( U43_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.21 POL( U44_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.21 POL( U45_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U81_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.21 POL( U82_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.21 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.21 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.21 POL( U85_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.21 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.21 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.21 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.21 POL( length_1(x_1) ) = 0 460.36/164.21 POL( mark_1(x_1) ) = max{0, 2x_1 - 1} 460.36/164.21 POL( zeros ) = 2 460.36/164.21 POL( active_1(x_1) ) = max{0, -2} 460.36/164.21 POL( cons_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.21 POL( 0 ) = 0 460.36/164.21 POL( tt ) = 0 460.36/164.21 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.21 POL( U13_1(x_1) ) = x_1 + 1 460.36/164.21 POL( isNatList_1(x_1) ) = 0 460.36/164.21 POL( isNatKind_1(x_1) ) = 0 460.36/164.21 POL( U23_1(x_1) ) = x_1 + 1 460.36/164.21 POL( isNat_1(x_1) ) = 0 460.36/164.21 POL( U33_1(x_1) ) = x_1 + 1 460.36/164.21 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.21 POL( isNatIList_1(x_1) ) = 0 460.36/164.21 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.21 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.21 POL( s_1(x_1) ) = x_1 + 1 460.36/164.21 POL( U61_1(x_1) ) = x_1 + 1 460.36/164.21 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.21 POL( nil ) = 2 460.36/164.21 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.21 460.36/164.21 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.21 none 460.36/164.21 460.36/164.21 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (276) 460.36/164.21 Obligation: 460.36/164.21 Q DP problem: 460.36/164.21 The TRS P consists of the following rules: 460.36/164.21 460.36/164.21 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.21 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.21 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.21 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.21 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.21 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.21 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.36/164.21 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.21 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.36/164.21 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.21 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.21 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.21 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.21 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.21 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.21 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.21 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.21 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.21 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.21 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.21 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.21 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.21 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(zeros) -> MARK(cons(0, zeros)) 460.36/164.21 MARK(cons(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.21 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.21 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.21 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.21 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U13(X)) -> MARK(X) 460.36/164.21 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.21 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.21 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.21 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.21 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.21 MARK(U61(X)) -> MARK(X) 460.36/164.21 MARK(U23(X)) -> MARK(X) 460.36/164.21 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.21 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.21 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.21 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.21 MARK(U31(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U32(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U33(X)) -> MARK(X) 460.36/164.21 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.21 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U45(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U46(X)) -> MARK(X) 460.36/164.21 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.21 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.21 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U52(X)) -> MARK(X) 460.36/164.21 MARK(U71(X)) -> MARK(X) 460.36/164.21 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U86(X)) -> MARK(X) 460.36/164.21 MARK(s(X)) -> MARK(X) 460.36/164.21 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.21 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.21 460.36/164.21 The TRS R consists of the following rules: 460.36/164.21 460.36/164.21 mark(zeros) -> active(zeros) 460.36/164.21 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.21 active(zeros) -> mark(cons(0, zeros)) 460.36/164.21 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.21 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.21 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.21 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.21 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.21 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.21 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.21 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.21 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.21 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.21 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.21 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.21 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.21 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.21 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.21 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.21 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.21 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.21 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.21 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.21 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.21 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.21 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.21 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.21 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.21 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.21 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.21 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.21 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.21 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.21 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.21 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.21 mark(s(X)) -> active(s(mark(X))) 460.36/164.21 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.21 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.21 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.21 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.21 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.21 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.21 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.21 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.21 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.21 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.21 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.21 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.21 mark(0) -> active(0) 460.36/164.21 mark(tt) -> active(tt) 460.36/164.21 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.21 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.21 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.21 mark(isNat(X)) -> active(isNat(X)) 460.36/164.21 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.21 mark(length(X)) -> active(length(mark(X))) 460.36/164.21 mark(nil) -> active(nil) 460.36/164.21 length(active(X)) -> length(X) 460.36/164.21 length(mark(X)) -> length(X) 460.36/164.21 active(U13(tt)) -> mark(tt) 460.36/164.21 active(U23(tt)) -> mark(tt) 460.36/164.21 active(U33(tt)) -> mark(tt) 460.36/164.21 active(U46(tt)) -> mark(tt) 460.36/164.21 active(U52(tt)) -> mark(tt) 460.36/164.21 active(U61(tt)) -> mark(tt) 460.36/164.21 active(U71(tt)) -> mark(tt) 460.36/164.21 active(U86(tt)) -> mark(tt) 460.36/164.21 active(isNat(0)) -> mark(tt) 460.36/164.21 active(isNatIList(zeros)) -> mark(tt) 460.36/164.21 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.21 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.21 active(isNatKind(0)) -> mark(tt) 460.36/164.21 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.21 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.21 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.21 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.21 U13(active(X)) -> U13(X) 460.36/164.21 U13(mark(X)) -> U13(X) 460.36/164.21 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.21 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.21 U23(active(X)) -> U23(X) 460.36/164.21 U23(mark(X)) -> U23(X) 460.36/164.21 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.21 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.21 U33(active(X)) -> U33(X) 460.36/164.21 U33(mark(X)) -> U33(X) 460.36/164.21 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.21 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.21 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.21 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.21 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.21 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.21 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.21 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.21 U46(active(X)) -> U46(X) 460.36/164.21 U46(mark(X)) -> U46(X) 460.36/164.21 U52(active(X)) -> U52(X) 460.36/164.21 U52(mark(X)) -> U52(X) 460.36/164.21 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.21 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.21 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.21 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.21 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.21 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.21 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.21 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.21 U86(active(X)) -> U86(X) 460.36/164.21 U86(mark(X)) -> U86(X) 460.36/164.21 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.21 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.21 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.21 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.21 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.21 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.21 s(active(X)) -> s(X) 460.36/164.21 s(mark(X)) -> s(X) 460.36/164.21 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.21 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.21 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.21 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.21 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.21 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.21 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.21 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.21 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.21 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.21 U61(active(X)) -> U61(X) 460.36/164.21 U61(mark(X)) -> U61(X) 460.36/164.21 U71(active(X)) -> U71(X) 460.36/164.21 U71(mark(X)) -> U71(X) 460.36/164.21 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.21 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.21 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.21 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.21 460.36/164.21 The set Q consists of the following terms: 460.36/164.21 460.36/164.21 active(zeros) 460.36/164.21 active(U11(tt, x0)) 460.36/164.21 active(U12(tt, x0)) 460.36/164.21 active(U13(tt)) 460.36/164.21 active(U21(tt, x0)) 460.36/164.21 active(U22(tt, x0)) 460.36/164.21 active(U23(tt)) 460.36/164.21 active(U31(tt, x0)) 460.36/164.21 active(U32(tt, x0)) 460.36/164.21 active(U33(tt)) 460.36/164.21 active(U41(tt, x0, x1)) 460.36/164.21 active(U42(tt, x0, x1)) 460.36/164.21 active(U43(tt, x0, x1)) 460.36/164.21 active(U44(tt, x0, x1)) 460.36/164.21 active(U45(tt, x0)) 460.36/164.21 active(U46(tt)) 460.36/164.21 active(U51(tt, x0)) 460.36/164.21 active(U52(tt)) 460.36/164.21 active(U61(tt)) 460.36/164.21 active(U71(tt)) 460.36/164.21 active(U81(tt, x0, x1)) 460.36/164.21 active(U82(tt, x0, x1)) 460.36/164.21 active(U83(tt, x0, x1)) 460.36/164.21 active(U84(tt, x0, x1)) 460.36/164.21 active(U85(tt, x0)) 460.36/164.21 active(U86(tt)) 460.36/164.21 active(U91(tt, x0, x1)) 460.36/164.21 active(U92(tt, x0, x1)) 460.36/164.21 active(U93(tt, x0, x1)) 460.36/164.21 active(U94(tt, x0)) 460.36/164.21 active(isNat(0)) 460.36/164.21 active(isNat(length(x0))) 460.36/164.21 active(isNat(s(x0))) 460.36/164.21 active(isNatIList(x0)) 460.36/164.21 active(isNatIListKind(nil)) 460.36/164.21 active(isNatIListKind(zeros)) 460.36/164.21 active(isNatIListKind(cons(x0, x1))) 460.36/164.21 active(isNatKind(0)) 460.36/164.21 active(isNatKind(length(x0))) 460.36/164.21 active(isNatKind(s(x0))) 460.36/164.21 active(isNatList(nil)) 460.36/164.21 active(isNatList(cons(x0, x1))) 460.36/164.21 active(length(nil)) 460.36/164.21 active(length(cons(x0, x1))) 460.36/164.21 mark(zeros) 460.36/164.21 mark(cons(x0, x1)) 460.36/164.21 mark(0) 460.36/164.21 mark(U11(x0, x1)) 460.36/164.21 mark(tt) 460.36/164.21 mark(U12(x0, x1)) 460.36/164.21 mark(isNatIListKind(x0)) 460.36/164.21 mark(U13(x0)) 460.36/164.21 mark(isNatList(x0)) 460.36/164.21 mark(U21(x0, x1)) 460.36/164.21 mark(U22(x0, x1)) 460.36/164.21 mark(isNatKind(x0)) 460.36/164.21 mark(U23(x0)) 460.36/164.21 mark(isNat(x0)) 460.36/164.21 mark(U31(x0, x1)) 460.36/164.21 mark(U32(x0, x1)) 460.36/164.21 mark(U33(x0)) 460.36/164.21 mark(U41(x0, x1, x2)) 460.36/164.21 mark(U42(x0, x1, x2)) 460.36/164.21 mark(U43(x0, x1, x2)) 460.36/164.21 mark(U44(x0, x1, x2)) 460.36/164.21 mark(U45(x0, x1)) 460.36/164.21 mark(U46(x0)) 460.36/164.21 mark(isNatIList(x0)) 460.36/164.21 mark(U51(x0, x1)) 460.36/164.21 mark(U52(x0)) 460.36/164.21 mark(U61(x0)) 460.36/164.21 mark(U71(x0)) 460.36/164.21 mark(U81(x0, x1, x2)) 460.36/164.21 mark(U82(x0, x1, x2)) 460.36/164.21 mark(U83(x0, x1, x2)) 460.36/164.21 mark(U84(x0, x1, x2)) 460.36/164.21 mark(U85(x0, x1)) 460.36/164.21 mark(U86(x0)) 460.36/164.21 mark(U91(x0, x1, x2)) 460.36/164.21 mark(U92(x0, x1, x2)) 460.36/164.21 mark(U93(x0, x1, x2)) 460.36/164.21 mark(U94(x0, x1)) 460.36/164.21 mark(s(x0)) 460.36/164.21 mark(length(x0)) 460.36/164.21 mark(nil) 460.36/164.21 cons(mark(x0), x1) 460.36/164.21 cons(x0, mark(x1)) 460.36/164.21 cons(active(x0), x1) 460.36/164.21 cons(x0, active(x1)) 460.36/164.21 U11(mark(x0), x1) 460.36/164.21 U11(x0, mark(x1)) 460.36/164.21 U11(active(x0), x1) 460.36/164.21 U11(x0, active(x1)) 460.36/164.21 U12(mark(x0), x1) 460.36/164.21 U12(x0, mark(x1)) 460.36/164.21 U12(active(x0), x1) 460.36/164.21 U12(x0, active(x1)) 460.36/164.21 isNatIListKind(mark(x0)) 460.36/164.21 isNatIListKind(active(x0)) 460.36/164.21 U13(mark(x0)) 460.36/164.21 U13(active(x0)) 460.36/164.21 isNatList(mark(x0)) 460.36/164.21 isNatList(active(x0)) 460.36/164.21 U21(mark(x0), x1) 460.36/164.21 U21(x0, mark(x1)) 460.36/164.21 U21(active(x0), x1) 460.36/164.21 U21(x0, active(x1)) 460.36/164.21 U22(mark(x0), x1) 460.36/164.21 U22(x0, mark(x1)) 460.36/164.21 U22(active(x0), x1) 460.36/164.21 U22(x0, active(x1)) 460.36/164.21 isNatKind(mark(x0)) 460.36/164.21 isNatKind(active(x0)) 460.36/164.21 U23(mark(x0)) 460.36/164.21 U23(active(x0)) 460.36/164.21 isNat(mark(x0)) 460.36/164.21 isNat(active(x0)) 460.36/164.21 U31(mark(x0), x1) 460.36/164.21 U31(x0, mark(x1)) 460.36/164.21 U31(active(x0), x1) 460.36/164.21 U31(x0, active(x1)) 460.36/164.21 U32(mark(x0), x1) 460.36/164.21 U32(x0, mark(x1)) 460.36/164.21 U32(active(x0), x1) 460.36/164.21 U32(x0, active(x1)) 460.36/164.21 U33(mark(x0)) 460.36/164.21 U33(active(x0)) 460.36/164.21 U41(mark(x0), x1, x2) 460.36/164.21 U41(x0, mark(x1), x2) 460.36/164.21 U41(x0, x1, mark(x2)) 460.36/164.21 U41(active(x0), x1, x2) 460.36/164.21 U41(x0, active(x1), x2) 460.36/164.21 U41(x0, x1, active(x2)) 460.36/164.21 U42(mark(x0), x1, x2) 460.36/164.21 U42(x0, mark(x1), x2) 460.36/164.21 U42(x0, x1, mark(x2)) 460.36/164.21 U42(active(x0), x1, x2) 460.36/164.21 U42(x0, active(x1), x2) 460.36/164.21 U42(x0, x1, active(x2)) 460.36/164.21 U43(mark(x0), x1, x2) 460.36/164.21 U43(x0, mark(x1), x2) 460.36/164.21 U43(x0, x1, mark(x2)) 460.36/164.21 U43(active(x0), x1, x2) 460.36/164.21 U43(x0, active(x1), x2) 460.36/164.21 U43(x0, x1, active(x2)) 460.36/164.21 U44(mark(x0), x1, x2) 460.36/164.21 U44(x0, mark(x1), x2) 460.36/164.21 U44(x0, x1, mark(x2)) 460.36/164.21 U44(active(x0), x1, x2) 460.36/164.21 U44(x0, active(x1), x2) 460.36/164.21 U44(x0, x1, active(x2)) 460.36/164.21 U45(mark(x0), x1) 460.36/164.21 U45(x0, mark(x1)) 460.36/164.21 U45(active(x0), x1) 460.36/164.21 U45(x0, active(x1)) 460.36/164.21 U46(mark(x0)) 460.36/164.21 U46(active(x0)) 460.36/164.21 isNatIList(mark(x0)) 460.36/164.21 isNatIList(active(x0)) 460.36/164.21 U51(mark(x0), x1) 460.36/164.21 U51(x0, mark(x1)) 460.36/164.21 U51(active(x0), x1) 460.36/164.21 U51(x0, active(x1)) 460.36/164.21 U52(mark(x0)) 460.36/164.21 U52(active(x0)) 460.36/164.21 U61(mark(x0)) 460.36/164.21 U61(active(x0)) 460.36/164.21 U71(mark(x0)) 460.36/164.21 U71(active(x0)) 460.36/164.21 U81(mark(x0), x1, x2) 460.36/164.21 U81(x0, mark(x1), x2) 460.36/164.21 U81(x0, x1, mark(x2)) 460.36/164.21 U81(active(x0), x1, x2) 460.36/164.21 U81(x0, active(x1), x2) 460.36/164.21 U81(x0, x1, active(x2)) 460.36/164.21 U82(mark(x0), x1, x2) 460.36/164.21 U82(x0, mark(x1), x2) 460.36/164.21 U82(x0, x1, mark(x2)) 460.36/164.21 U82(active(x0), x1, x2) 460.36/164.21 U82(x0, active(x1), x2) 460.36/164.21 U82(x0, x1, active(x2)) 460.36/164.21 U83(mark(x0), x1, x2) 460.36/164.21 U83(x0, mark(x1), x2) 460.36/164.21 U83(x0, x1, mark(x2)) 460.36/164.21 U83(active(x0), x1, x2) 460.36/164.21 U83(x0, active(x1), x2) 460.36/164.21 U83(x0, x1, active(x2)) 460.36/164.21 U84(mark(x0), x1, x2) 460.36/164.21 U84(x0, mark(x1), x2) 460.36/164.21 U84(x0, x1, mark(x2)) 460.36/164.21 U84(active(x0), x1, x2) 460.36/164.21 U84(x0, active(x1), x2) 460.36/164.21 U84(x0, x1, active(x2)) 460.36/164.21 U85(mark(x0), x1) 460.36/164.21 U85(x0, mark(x1)) 460.36/164.21 U85(active(x0), x1) 460.36/164.21 U85(x0, active(x1)) 460.36/164.21 U86(mark(x0)) 460.36/164.21 U86(active(x0)) 460.36/164.21 U91(mark(x0), x1, x2) 460.36/164.21 U91(x0, mark(x1), x2) 460.36/164.21 U91(x0, x1, mark(x2)) 460.36/164.21 U91(active(x0), x1, x2) 460.36/164.21 U91(x0, active(x1), x2) 460.36/164.21 U91(x0, x1, active(x2)) 460.36/164.21 U92(mark(x0), x1, x2) 460.36/164.21 U92(x0, mark(x1), x2) 460.36/164.21 U92(x0, x1, mark(x2)) 460.36/164.21 U92(active(x0), x1, x2) 460.36/164.21 U92(x0, active(x1), x2) 460.36/164.21 U92(x0, x1, active(x2)) 460.36/164.21 U93(mark(x0), x1, x2) 460.36/164.21 U93(x0, mark(x1), x2) 460.36/164.21 U93(x0, x1, mark(x2)) 460.36/164.21 U93(active(x0), x1, x2) 460.36/164.21 U93(x0, active(x1), x2) 460.36/164.21 U93(x0, x1, active(x2)) 460.36/164.21 U94(mark(x0), x1) 460.36/164.21 U94(x0, mark(x1)) 460.36/164.21 U94(active(x0), x1) 460.36/164.21 U94(x0, active(x1)) 460.36/164.21 s(mark(x0)) 460.36/164.21 s(active(x0)) 460.36/164.21 length(mark(x0)) 460.36/164.21 length(active(x0)) 460.36/164.21 460.36/164.21 We have to consider all minimal (P,Q,R)-chains. 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (277) DependencyGraphProof (EQUIVALENT) 460.36/164.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (278) 460.36/164.21 Obligation: 460.36/164.21 Q DP problem: 460.36/164.21 The TRS P consists of the following rules: 460.36/164.21 460.36/164.21 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.21 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.21 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(cons(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.21 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.21 MARK(U13(X)) -> MARK(X) 460.36/164.21 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.21 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.21 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.21 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.21 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.21 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.21 MARK(U23(X)) -> MARK(X) 460.36/164.21 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.21 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.36/164.21 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.21 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.36/164.21 MARK(U33(X)) -> MARK(X) 460.36/164.21 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.21 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.21 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.21 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.21 MARK(U46(X)) -> MARK(X) 460.36/164.21 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.21 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.21 MARK(U61(X)) -> MARK(X) 460.36/164.21 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.21 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.21 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.21 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.21 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.21 MARK(U52(X)) -> MARK(X) 460.36/164.21 MARK(U31(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U32(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.21 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.21 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.21 MARK(U86(X)) -> MARK(X) 460.36/164.21 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U45(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.21 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.21 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U71(X)) -> MARK(X) 460.36/164.21 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.21 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.21 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.21 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.21 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.21 MARK(s(X)) -> MARK(X) 460.36/164.21 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.21 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.21 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.21 460.36/164.21 The TRS R consists of the following rules: 460.36/164.21 460.36/164.21 mark(zeros) -> active(zeros) 460.36/164.21 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.21 active(zeros) -> mark(cons(0, zeros)) 460.36/164.21 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.21 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.21 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.21 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.21 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.21 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.21 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.21 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.21 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.21 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.21 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.21 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.21 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.21 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.21 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.21 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.21 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.21 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.21 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.21 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.21 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.21 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.21 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.21 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.21 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.21 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.21 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.21 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.21 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.21 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.21 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.21 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.21 mark(s(X)) -> active(s(mark(X))) 460.36/164.21 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.21 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.21 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.21 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.21 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.21 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.21 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.21 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.21 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.21 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.21 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.21 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.21 mark(0) -> active(0) 460.36/164.21 mark(tt) -> active(tt) 460.36/164.21 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.21 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.21 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.21 mark(isNat(X)) -> active(isNat(X)) 460.36/164.21 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.21 mark(length(X)) -> active(length(mark(X))) 460.36/164.21 mark(nil) -> active(nil) 460.36/164.21 length(active(X)) -> length(X) 460.36/164.21 length(mark(X)) -> length(X) 460.36/164.21 active(U13(tt)) -> mark(tt) 460.36/164.21 active(U23(tt)) -> mark(tt) 460.36/164.21 active(U33(tt)) -> mark(tt) 460.36/164.21 active(U46(tt)) -> mark(tt) 460.36/164.21 active(U52(tt)) -> mark(tt) 460.36/164.21 active(U61(tt)) -> mark(tt) 460.36/164.21 active(U71(tt)) -> mark(tt) 460.36/164.21 active(U86(tt)) -> mark(tt) 460.36/164.21 active(isNat(0)) -> mark(tt) 460.36/164.21 active(isNatIList(zeros)) -> mark(tt) 460.36/164.21 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.21 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.21 active(isNatKind(0)) -> mark(tt) 460.36/164.21 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.21 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.21 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.21 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.21 U13(active(X)) -> U13(X) 460.36/164.21 U13(mark(X)) -> U13(X) 460.36/164.21 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.21 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.21 U23(active(X)) -> U23(X) 460.36/164.21 U23(mark(X)) -> U23(X) 460.36/164.21 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.21 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.21 U33(active(X)) -> U33(X) 460.36/164.21 U33(mark(X)) -> U33(X) 460.36/164.21 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.21 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.21 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.21 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.21 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.21 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.21 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.21 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.21 U46(active(X)) -> U46(X) 460.36/164.21 U46(mark(X)) -> U46(X) 460.36/164.21 U52(active(X)) -> U52(X) 460.36/164.21 U52(mark(X)) -> U52(X) 460.36/164.21 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.21 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.21 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.21 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.21 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.21 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.21 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.21 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.21 U86(active(X)) -> U86(X) 460.36/164.21 U86(mark(X)) -> U86(X) 460.36/164.21 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.21 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.21 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.21 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.21 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.21 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.21 s(active(X)) -> s(X) 460.36/164.21 s(mark(X)) -> s(X) 460.36/164.21 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.21 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.21 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.21 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.21 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.21 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.21 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.21 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.21 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.21 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.21 U61(active(X)) -> U61(X) 460.36/164.21 U61(mark(X)) -> U61(X) 460.36/164.21 U71(active(X)) -> U71(X) 460.36/164.21 U71(mark(X)) -> U71(X) 460.36/164.21 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.21 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.21 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.21 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.21 460.36/164.21 The set Q consists of the following terms: 460.36/164.21 460.36/164.21 active(zeros) 460.36/164.21 active(U11(tt, x0)) 460.36/164.21 active(U12(tt, x0)) 460.36/164.21 active(U13(tt)) 460.36/164.21 active(U21(tt, x0)) 460.36/164.21 active(U22(tt, x0)) 460.36/164.21 active(U23(tt)) 460.36/164.21 active(U31(tt, x0)) 460.36/164.21 active(U32(tt, x0)) 460.36/164.21 active(U33(tt)) 460.36/164.21 active(U41(tt, x0, x1)) 460.36/164.21 active(U42(tt, x0, x1)) 460.36/164.21 active(U43(tt, x0, x1)) 460.36/164.21 active(U44(tt, x0, x1)) 460.36/164.21 active(U45(tt, x0)) 460.36/164.21 active(U46(tt)) 460.36/164.21 active(U51(tt, x0)) 460.36/164.21 active(U52(tt)) 460.36/164.21 active(U61(tt)) 460.36/164.21 active(U71(tt)) 460.36/164.21 active(U81(tt, x0, x1)) 460.36/164.21 active(U82(tt, x0, x1)) 460.36/164.21 active(U83(tt, x0, x1)) 460.36/164.21 active(U84(tt, x0, x1)) 460.36/164.21 active(U85(tt, x0)) 460.36/164.21 active(U86(tt)) 460.36/164.21 active(U91(tt, x0, x1)) 460.36/164.21 active(U92(tt, x0, x1)) 460.36/164.21 active(U93(tt, x0, x1)) 460.36/164.21 active(U94(tt, x0)) 460.36/164.21 active(isNat(0)) 460.36/164.21 active(isNat(length(x0))) 460.36/164.21 active(isNat(s(x0))) 460.36/164.21 active(isNatIList(x0)) 460.36/164.21 active(isNatIListKind(nil)) 460.36/164.21 active(isNatIListKind(zeros)) 460.36/164.21 active(isNatIListKind(cons(x0, x1))) 460.36/164.21 active(isNatKind(0)) 460.36/164.21 active(isNatKind(length(x0))) 460.36/164.21 active(isNatKind(s(x0))) 460.36/164.21 active(isNatList(nil)) 460.36/164.21 active(isNatList(cons(x0, x1))) 460.36/164.21 active(length(nil)) 460.36/164.21 active(length(cons(x0, x1))) 460.36/164.21 mark(zeros) 460.36/164.21 mark(cons(x0, x1)) 460.36/164.21 mark(0) 460.36/164.21 mark(U11(x0, x1)) 460.36/164.21 mark(tt) 460.36/164.21 mark(U12(x0, x1)) 460.36/164.21 mark(isNatIListKind(x0)) 460.36/164.21 mark(U13(x0)) 460.36/164.21 mark(isNatList(x0)) 460.36/164.21 mark(U21(x0, x1)) 460.36/164.21 mark(U22(x0, x1)) 460.36/164.21 mark(isNatKind(x0)) 460.36/164.21 mark(U23(x0)) 460.36/164.21 mark(isNat(x0)) 460.36/164.21 mark(U31(x0, x1)) 460.36/164.21 mark(U32(x0, x1)) 460.36/164.21 mark(U33(x0)) 460.36/164.21 mark(U41(x0, x1, x2)) 460.36/164.21 mark(U42(x0, x1, x2)) 460.36/164.21 mark(U43(x0, x1, x2)) 460.36/164.21 mark(U44(x0, x1, x2)) 460.36/164.21 mark(U45(x0, x1)) 460.36/164.21 mark(U46(x0)) 460.36/164.21 mark(isNatIList(x0)) 460.36/164.21 mark(U51(x0, x1)) 460.36/164.21 mark(U52(x0)) 460.36/164.21 mark(U61(x0)) 460.36/164.21 mark(U71(x0)) 460.36/164.21 mark(U81(x0, x1, x2)) 460.36/164.21 mark(U82(x0, x1, x2)) 460.36/164.21 mark(U83(x0, x1, x2)) 460.36/164.21 mark(U84(x0, x1, x2)) 460.36/164.21 mark(U85(x0, x1)) 460.36/164.21 mark(U86(x0)) 460.36/164.21 mark(U91(x0, x1, x2)) 460.36/164.21 mark(U92(x0, x1, x2)) 460.36/164.21 mark(U93(x0, x1, x2)) 460.36/164.21 mark(U94(x0, x1)) 460.36/164.21 mark(s(x0)) 460.36/164.21 mark(length(x0)) 460.36/164.21 mark(nil) 460.36/164.21 cons(mark(x0), x1) 460.36/164.21 cons(x0, mark(x1)) 460.36/164.21 cons(active(x0), x1) 460.36/164.21 cons(x0, active(x1)) 460.36/164.21 U11(mark(x0), x1) 460.36/164.21 U11(x0, mark(x1)) 460.36/164.21 U11(active(x0), x1) 460.36/164.21 U11(x0, active(x1)) 460.36/164.21 U12(mark(x0), x1) 460.36/164.21 U12(x0, mark(x1)) 460.36/164.21 U12(active(x0), x1) 460.36/164.21 U12(x0, active(x1)) 460.36/164.21 isNatIListKind(mark(x0)) 460.36/164.21 isNatIListKind(active(x0)) 460.36/164.21 U13(mark(x0)) 460.36/164.21 U13(active(x0)) 460.36/164.21 isNatList(mark(x0)) 460.36/164.21 isNatList(active(x0)) 460.36/164.21 U21(mark(x0), x1) 460.36/164.21 U21(x0, mark(x1)) 460.36/164.21 U21(active(x0), x1) 460.36/164.21 U21(x0, active(x1)) 460.36/164.21 U22(mark(x0), x1) 460.36/164.21 U22(x0, mark(x1)) 460.36/164.21 U22(active(x0), x1) 460.36/164.21 U22(x0, active(x1)) 460.36/164.21 isNatKind(mark(x0)) 460.36/164.21 isNatKind(active(x0)) 460.36/164.21 U23(mark(x0)) 460.36/164.21 U23(active(x0)) 460.36/164.21 isNat(mark(x0)) 460.36/164.21 isNat(active(x0)) 460.36/164.21 U31(mark(x0), x1) 460.36/164.21 U31(x0, mark(x1)) 460.36/164.21 U31(active(x0), x1) 460.36/164.21 U31(x0, active(x1)) 460.36/164.21 U32(mark(x0), x1) 460.36/164.21 U32(x0, mark(x1)) 460.36/164.21 U32(active(x0), x1) 460.36/164.21 U32(x0, active(x1)) 460.36/164.21 U33(mark(x0)) 460.36/164.21 U33(active(x0)) 460.36/164.21 U41(mark(x0), x1, x2) 460.36/164.21 U41(x0, mark(x1), x2) 460.36/164.21 U41(x0, x1, mark(x2)) 460.36/164.21 U41(active(x0), x1, x2) 460.36/164.21 U41(x0, active(x1), x2) 460.36/164.21 U41(x0, x1, active(x2)) 460.36/164.21 U42(mark(x0), x1, x2) 460.36/164.21 U42(x0, mark(x1), x2) 460.36/164.21 U42(x0, x1, mark(x2)) 460.36/164.21 U42(active(x0), x1, x2) 460.36/164.21 U42(x0, active(x1), x2) 460.36/164.21 U42(x0, x1, active(x2)) 460.36/164.21 U43(mark(x0), x1, x2) 460.36/164.21 U43(x0, mark(x1), x2) 460.36/164.21 U43(x0, x1, mark(x2)) 460.36/164.21 U43(active(x0), x1, x2) 460.36/164.21 U43(x0, active(x1), x2) 460.36/164.21 U43(x0, x1, active(x2)) 460.36/164.21 U44(mark(x0), x1, x2) 460.36/164.21 U44(x0, mark(x1), x2) 460.36/164.21 U44(x0, x1, mark(x2)) 460.36/164.21 U44(active(x0), x1, x2) 460.36/164.21 U44(x0, active(x1), x2) 460.36/164.21 U44(x0, x1, active(x2)) 460.36/164.21 U45(mark(x0), x1) 460.36/164.21 U45(x0, mark(x1)) 460.36/164.21 U45(active(x0), x1) 460.36/164.21 U45(x0, active(x1)) 460.36/164.21 U46(mark(x0)) 460.36/164.21 U46(active(x0)) 460.36/164.21 isNatIList(mark(x0)) 460.36/164.21 isNatIList(active(x0)) 460.36/164.21 U51(mark(x0), x1) 460.36/164.21 U51(x0, mark(x1)) 460.36/164.21 U51(active(x0), x1) 460.36/164.21 U51(x0, active(x1)) 460.36/164.21 U52(mark(x0)) 460.36/164.21 U52(active(x0)) 460.36/164.21 U61(mark(x0)) 460.36/164.21 U61(active(x0)) 460.36/164.21 U71(mark(x0)) 460.36/164.21 U71(active(x0)) 460.36/164.21 U81(mark(x0), x1, x2) 460.36/164.21 U81(x0, mark(x1), x2) 460.36/164.21 U81(x0, x1, mark(x2)) 460.36/164.21 U81(active(x0), x1, x2) 460.36/164.21 U81(x0, active(x1), x2) 460.36/164.21 U81(x0, x1, active(x2)) 460.36/164.21 U82(mark(x0), x1, x2) 460.36/164.21 U82(x0, mark(x1), x2) 460.36/164.21 U82(x0, x1, mark(x2)) 460.36/164.21 U82(active(x0), x1, x2) 460.36/164.21 U82(x0, active(x1), x2) 460.36/164.21 U82(x0, x1, active(x2)) 460.36/164.21 U83(mark(x0), x1, x2) 460.36/164.21 U83(x0, mark(x1), x2) 460.36/164.21 U83(x0, x1, mark(x2)) 460.36/164.21 U83(active(x0), x1, x2) 460.36/164.21 U83(x0, active(x1), x2) 460.36/164.21 U83(x0, x1, active(x2)) 460.36/164.21 U84(mark(x0), x1, x2) 460.36/164.21 U84(x0, mark(x1), x2) 460.36/164.21 U84(x0, x1, mark(x2)) 460.36/164.21 U84(active(x0), x1, x2) 460.36/164.21 U84(x0, active(x1), x2) 460.36/164.21 U84(x0, x1, active(x2)) 460.36/164.21 U85(mark(x0), x1) 460.36/164.21 U85(x0, mark(x1)) 460.36/164.21 U85(active(x0), x1) 460.36/164.21 U85(x0, active(x1)) 460.36/164.21 U86(mark(x0)) 460.36/164.21 U86(active(x0)) 460.36/164.21 U91(mark(x0), x1, x2) 460.36/164.21 U91(x0, mark(x1), x2) 460.36/164.21 U91(x0, x1, mark(x2)) 460.36/164.21 U91(active(x0), x1, x2) 460.36/164.21 U91(x0, active(x1), x2) 460.36/164.21 U91(x0, x1, active(x2)) 460.36/164.21 U92(mark(x0), x1, x2) 460.36/164.21 U92(x0, mark(x1), x2) 460.36/164.21 U92(x0, x1, mark(x2)) 460.36/164.21 U92(active(x0), x1, x2) 460.36/164.21 U92(x0, active(x1), x2) 460.36/164.21 U92(x0, x1, active(x2)) 460.36/164.21 U93(mark(x0), x1, x2) 460.36/164.21 U93(x0, mark(x1), x2) 460.36/164.21 U93(x0, x1, mark(x2)) 460.36/164.21 U93(active(x0), x1, x2) 460.36/164.21 U93(x0, active(x1), x2) 460.36/164.21 U93(x0, x1, active(x2)) 460.36/164.21 U94(mark(x0), x1) 460.36/164.21 U94(x0, mark(x1)) 460.36/164.21 U94(active(x0), x1) 460.36/164.21 U94(x0, active(x1)) 460.36/164.21 s(mark(x0)) 460.36/164.21 s(active(x0)) 460.36/164.21 length(mark(x0)) 460.36/164.21 length(active(x0)) 460.36/164.21 460.36/164.21 We have to consider all minimal (P,Q,R)-chains. 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (279) QDPQMonotonicMRRProof (EQUIVALENT) 460.36/164.21 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. 460.36/164.21 460.36/164.21 Strictly oriented dependency pairs: 460.36/164.21 460.36/164.21 MARK(cons(X1, X2)) -> MARK(X1) 460.36/164.21 460.36/164.21 460.36/164.21 Used ordering: Polynomial interpretation [POLO]: 460.36/164.21 460.36/164.21 POL(0) = 0 460.36/164.21 POL(ACTIVE(x_1)) = 0 460.36/164.21 POL(MARK(x_1)) = 2*x_1 460.36/164.21 POL(U11(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U12(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U13(x_1)) = x_1 460.36/164.21 POL(U21(x_1, x_2)) = x_1 460.36/164.21 POL(U22(x_1, x_2)) = x_1 460.36/164.21 POL(U23(x_1)) = 2*x_1 460.36/164.21 POL(U31(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U32(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U33(x_1)) = 2*x_1 460.36/164.21 POL(U41(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U42(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U43(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U44(x_1, x_2, x_3)) = x_1 460.36/164.21 POL(U45(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U46(x_1)) = 2*x_1 460.36/164.21 POL(U51(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U52(x_1)) = 2*x_1 460.36/164.21 POL(U61(x_1)) = 2*x_1 460.36/164.21 POL(U71(x_1)) = 2*x_1 460.36/164.21 POL(U81(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U82(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U83(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U84(x_1, x_2, x_3)) = 2*x_1 460.36/164.21 POL(U85(x_1, x_2)) = 2*x_1 460.36/164.21 POL(U86(x_1)) = 2*x_1 460.36/164.21 POL(U91(x_1, x_2, x_3)) = 0 460.36/164.21 POL(U92(x_1, x_2, x_3)) = 0 460.36/164.21 POL(U93(x_1, x_2, x_3)) = 0 460.36/164.21 POL(U94(x_1, x_2)) = 0 460.36/164.21 POL(active(x_1)) = x_1 460.36/164.21 POL(cons(x_1, x_2)) = 1 + 2*x_1 460.36/164.21 POL(isNat(x_1)) = 0 460.36/164.21 POL(isNatIList(x_1)) = 0 460.36/164.21 POL(isNatIListKind(x_1)) = 0 460.36/164.21 POL(isNatKind(x_1)) = 0 460.36/164.21 POL(isNatList(x_1)) = 0 460.36/164.21 POL(length(x_1)) = 0 460.36/164.21 POL(mark(x_1)) = 2*x_1 460.36/164.21 POL(nil) = 2 460.36/164.21 POL(s(x_1)) = 2*x_1 460.36/164.21 POL(tt) = 0 460.36/164.21 POL(zeros) = 2 460.36/164.21 460.36/164.21 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (280) 460.36/164.21 Obligation: 460.36/164.21 Q DP problem: 460.36/164.21 The TRS P consists of the following rules: 460.36/164.21 460.36/164.21 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.21 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.21 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.21 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.21 MARK(U13(X)) -> MARK(X) 460.36/164.21 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.21 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.21 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.21 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.21 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.21 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.21 MARK(U23(X)) -> MARK(X) 460.36/164.21 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.21 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.36/164.21 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.21 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.36/164.21 MARK(U33(X)) -> MARK(X) 460.36/164.21 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.21 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.21 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.21 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.21 MARK(U46(X)) -> MARK(X) 460.36/164.21 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.21 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.21 MARK(U61(X)) -> MARK(X) 460.36/164.21 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.21 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.21 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.21 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.21 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.21 MARK(U52(X)) -> MARK(X) 460.36/164.21 MARK(U31(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U32(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.21 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.21 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.21 MARK(U86(X)) -> MARK(X) 460.36/164.21 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U45(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.21 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.21 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U71(X)) -> MARK(X) 460.36/164.21 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.21 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.21 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.21 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.21 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.21 MARK(s(X)) -> MARK(X) 460.36/164.21 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.21 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.21 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.21 460.36/164.21 The TRS R consists of the following rules: 460.36/164.21 460.36/164.21 mark(zeros) -> active(zeros) 460.36/164.21 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.21 active(zeros) -> mark(cons(0, zeros)) 460.36/164.21 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.21 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.21 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.21 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.21 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.21 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.21 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.21 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.21 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.21 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.21 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.21 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.21 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.21 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.21 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.21 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.21 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.21 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.21 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.21 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.21 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.21 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.21 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.21 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.21 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.21 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.21 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.21 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.21 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.21 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.21 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.21 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.21 mark(s(X)) -> active(s(mark(X))) 460.36/164.21 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.21 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.21 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.21 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.21 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.21 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.21 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.21 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.21 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.21 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.21 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.21 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.21 mark(0) -> active(0) 460.36/164.21 mark(tt) -> active(tt) 460.36/164.21 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.21 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.21 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.21 mark(isNat(X)) -> active(isNat(X)) 460.36/164.21 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.21 mark(length(X)) -> active(length(mark(X))) 460.36/164.21 mark(nil) -> active(nil) 460.36/164.21 length(active(X)) -> length(X) 460.36/164.21 length(mark(X)) -> length(X) 460.36/164.21 active(U13(tt)) -> mark(tt) 460.36/164.21 active(U23(tt)) -> mark(tt) 460.36/164.21 active(U33(tt)) -> mark(tt) 460.36/164.21 active(U46(tt)) -> mark(tt) 460.36/164.21 active(U52(tt)) -> mark(tt) 460.36/164.21 active(U61(tt)) -> mark(tt) 460.36/164.21 active(U71(tt)) -> mark(tt) 460.36/164.21 active(U86(tt)) -> mark(tt) 460.36/164.21 active(isNat(0)) -> mark(tt) 460.36/164.21 active(isNatIList(zeros)) -> mark(tt) 460.36/164.21 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.21 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.21 active(isNatKind(0)) -> mark(tt) 460.36/164.21 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.21 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.21 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.21 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.21 U13(active(X)) -> U13(X) 460.36/164.21 U13(mark(X)) -> U13(X) 460.36/164.21 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.21 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.21 U23(active(X)) -> U23(X) 460.36/164.21 U23(mark(X)) -> U23(X) 460.36/164.21 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.21 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.21 U33(active(X)) -> U33(X) 460.36/164.21 U33(mark(X)) -> U33(X) 460.36/164.21 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.21 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.21 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.21 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.21 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.21 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.21 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.21 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.21 U46(active(X)) -> U46(X) 460.36/164.21 U46(mark(X)) -> U46(X) 460.36/164.21 U52(active(X)) -> U52(X) 460.36/164.21 U52(mark(X)) -> U52(X) 460.36/164.21 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.21 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.21 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.21 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.21 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.21 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.21 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.21 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.21 U86(active(X)) -> U86(X) 460.36/164.21 U86(mark(X)) -> U86(X) 460.36/164.21 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.21 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.21 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.21 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.21 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.21 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.21 s(active(X)) -> s(X) 460.36/164.21 s(mark(X)) -> s(X) 460.36/164.21 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.21 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.21 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.21 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.21 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.21 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.21 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.21 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.21 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.21 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.21 U61(active(X)) -> U61(X) 460.36/164.21 U61(mark(X)) -> U61(X) 460.36/164.21 U71(active(X)) -> U71(X) 460.36/164.21 U71(mark(X)) -> U71(X) 460.36/164.21 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.21 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.21 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.21 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.21 460.36/164.21 The set Q consists of the following terms: 460.36/164.21 460.36/164.21 active(zeros) 460.36/164.21 active(U11(tt, x0)) 460.36/164.21 active(U12(tt, x0)) 460.36/164.21 active(U13(tt)) 460.36/164.21 active(U21(tt, x0)) 460.36/164.21 active(U22(tt, x0)) 460.36/164.21 active(U23(tt)) 460.36/164.21 active(U31(tt, x0)) 460.36/164.21 active(U32(tt, x0)) 460.36/164.21 active(U33(tt)) 460.36/164.21 active(U41(tt, x0, x1)) 460.36/164.21 active(U42(tt, x0, x1)) 460.36/164.21 active(U43(tt, x0, x1)) 460.36/164.21 active(U44(tt, x0, x1)) 460.36/164.21 active(U45(tt, x0)) 460.36/164.21 active(U46(tt)) 460.36/164.21 active(U51(tt, x0)) 460.36/164.21 active(U52(tt)) 460.36/164.21 active(U61(tt)) 460.36/164.21 active(U71(tt)) 460.36/164.21 active(U81(tt, x0, x1)) 460.36/164.21 active(U82(tt, x0, x1)) 460.36/164.21 active(U83(tt, x0, x1)) 460.36/164.21 active(U84(tt, x0, x1)) 460.36/164.21 active(U85(tt, x0)) 460.36/164.21 active(U86(tt)) 460.36/164.21 active(U91(tt, x0, x1)) 460.36/164.21 active(U92(tt, x0, x1)) 460.36/164.21 active(U93(tt, x0, x1)) 460.36/164.21 active(U94(tt, x0)) 460.36/164.21 active(isNat(0)) 460.36/164.21 active(isNat(length(x0))) 460.36/164.21 active(isNat(s(x0))) 460.36/164.21 active(isNatIList(x0)) 460.36/164.21 active(isNatIListKind(nil)) 460.36/164.21 active(isNatIListKind(zeros)) 460.36/164.21 active(isNatIListKind(cons(x0, x1))) 460.36/164.21 active(isNatKind(0)) 460.36/164.21 active(isNatKind(length(x0))) 460.36/164.21 active(isNatKind(s(x0))) 460.36/164.21 active(isNatList(nil)) 460.36/164.21 active(isNatList(cons(x0, x1))) 460.36/164.21 active(length(nil)) 460.36/164.21 active(length(cons(x0, x1))) 460.36/164.21 mark(zeros) 460.36/164.21 mark(cons(x0, x1)) 460.36/164.21 mark(0) 460.36/164.21 mark(U11(x0, x1)) 460.36/164.21 mark(tt) 460.36/164.21 mark(U12(x0, x1)) 460.36/164.21 mark(isNatIListKind(x0)) 460.36/164.21 mark(U13(x0)) 460.36/164.21 mark(isNatList(x0)) 460.36/164.21 mark(U21(x0, x1)) 460.36/164.21 mark(U22(x0, x1)) 460.36/164.21 mark(isNatKind(x0)) 460.36/164.21 mark(U23(x0)) 460.36/164.21 mark(isNat(x0)) 460.36/164.21 mark(U31(x0, x1)) 460.36/164.21 mark(U32(x0, x1)) 460.36/164.21 mark(U33(x0)) 460.36/164.21 mark(U41(x0, x1, x2)) 460.36/164.21 mark(U42(x0, x1, x2)) 460.36/164.21 mark(U43(x0, x1, x2)) 460.36/164.21 mark(U44(x0, x1, x2)) 460.36/164.21 mark(U45(x0, x1)) 460.36/164.21 mark(U46(x0)) 460.36/164.21 mark(isNatIList(x0)) 460.36/164.21 mark(U51(x0, x1)) 460.36/164.21 mark(U52(x0)) 460.36/164.21 mark(U61(x0)) 460.36/164.21 mark(U71(x0)) 460.36/164.21 mark(U81(x0, x1, x2)) 460.36/164.21 mark(U82(x0, x1, x2)) 460.36/164.21 mark(U83(x0, x1, x2)) 460.36/164.21 mark(U84(x0, x1, x2)) 460.36/164.21 mark(U85(x0, x1)) 460.36/164.21 mark(U86(x0)) 460.36/164.21 mark(U91(x0, x1, x2)) 460.36/164.21 mark(U92(x0, x1, x2)) 460.36/164.21 mark(U93(x0, x1, x2)) 460.36/164.21 mark(U94(x0, x1)) 460.36/164.21 mark(s(x0)) 460.36/164.21 mark(length(x0)) 460.36/164.21 mark(nil) 460.36/164.21 cons(mark(x0), x1) 460.36/164.21 cons(x0, mark(x1)) 460.36/164.21 cons(active(x0), x1) 460.36/164.21 cons(x0, active(x1)) 460.36/164.21 U11(mark(x0), x1) 460.36/164.21 U11(x0, mark(x1)) 460.36/164.21 U11(active(x0), x1) 460.36/164.21 U11(x0, active(x1)) 460.36/164.21 U12(mark(x0), x1) 460.36/164.21 U12(x0, mark(x1)) 460.36/164.21 U12(active(x0), x1) 460.36/164.21 U12(x0, active(x1)) 460.36/164.21 isNatIListKind(mark(x0)) 460.36/164.21 isNatIListKind(active(x0)) 460.36/164.21 U13(mark(x0)) 460.36/164.21 U13(active(x0)) 460.36/164.21 isNatList(mark(x0)) 460.36/164.21 isNatList(active(x0)) 460.36/164.21 U21(mark(x0), x1) 460.36/164.21 U21(x0, mark(x1)) 460.36/164.21 U21(active(x0), x1) 460.36/164.21 U21(x0, active(x1)) 460.36/164.21 U22(mark(x0), x1) 460.36/164.21 U22(x0, mark(x1)) 460.36/164.21 U22(active(x0), x1) 460.36/164.21 U22(x0, active(x1)) 460.36/164.21 isNatKind(mark(x0)) 460.36/164.21 isNatKind(active(x0)) 460.36/164.21 U23(mark(x0)) 460.36/164.21 U23(active(x0)) 460.36/164.21 isNat(mark(x0)) 460.36/164.21 isNat(active(x0)) 460.36/164.21 U31(mark(x0), x1) 460.36/164.21 U31(x0, mark(x1)) 460.36/164.21 U31(active(x0), x1) 460.36/164.21 U31(x0, active(x1)) 460.36/164.21 U32(mark(x0), x1) 460.36/164.21 U32(x0, mark(x1)) 460.36/164.21 U32(active(x0), x1) 460.36/164.21 U32(x0, active(x1)) 460.36/164.21 U33(mark(x0)) 460.36/164.21 U33(active(x0)) 460.36/164.21 U41(mark(x0), x1, x2) 460.36/164.21 U41(x0, mark(x1), x2) 460.36/164.21 U41(x0, x1, mark(x2)) 460.36/164.21 U41(active(x0), x1, x2) 460.36/164.21 U41(x0, active(x1), x2) 460.36/164.21 U41(x0, x1, active(x2)) 460.36/164.21 U42(mark(x0), x1, x2) 460.36/164.21 U42(x0, mark(x1), x2) 460.36/164.21 U42(x0, x1, mark(x2)) 460.36/164.21 U42(active(x0), x1, x2) 460.36/164.21 U42(x0, active(x1), x2) 460.36/164.21 U42(x0, x1, active(x2)) 460.36/164.21 U43(mark(x0), x1, x2) 460.36/164.21 U43(x0, mark(x1), x2) 460.36/164.21 U43(x0, x1, mark(x2)) 460.36/164.21 U43(active(x0), x1, x2) 460.36/164.21 U43(x0, active(x1), x2) 460.36/164.21 U43(x0, x1, active(x2)) 460.36/164.21 U44(mark(x0), x1, x2) 460.36/164.21 U44(x0, mark(x1), x2) 460.36/164.21 U44(x0, x1, mark(x2)) 460.36/164.21 U44(active(x0), x1, x2) 460.36/164.21 U44(x0, active(x1), x2) 460.36/164.21 U44(x0, x1, active(x2)) 460.36/164.21 U45(mark(x0), x1) 460.36/164.21 U45(x0, mark(x1)) 460.36/164.21 U45(active(x0), x1) 460.36/164.21 U45(x0, active(x1)) 460.36/164.21 U46(mark(x0)) 460.36/164.21 U46(active(x0)) 460.36/164.21 isNatIList(mark(x0)) 460.36/164.21 isNatIList(active(x0)) 460.36/164.21 U51(mark(x0), x1) 460.36/164.21 U51(x0, mark(x1)) 460.36/164.21 U51(active(x0), x1) 460.36/164.21 U51(x0, active(x1)) 460.36/164.21 U52(mark(x0)) 460.36/164.21 U52(active(x0)) 460.36/164.21 U61(mark(x0)) 460.36/164.21 U61(active(x0)) 460.36/164.21 U71(mark(x0)) 460.36/164.21 U71(active(x0)) 460.36/164.21 U81(mark(x0), x1, x2) 460.36/164.21 U81(x0, mark(x1), x2) 460.36/164.21 U81(x0, x1, mark(x2)) 460.36/164.21 U81(active(x0), x1, x2) 460.36/164.21 U81(x0, active(x1), x2) 460.36/164.21 U81(x0, x1, active(x2)) 460.36/164.21 U82(mark(x0), x1, x2) 460.36/164.21 U82(x0, mark(x1), x2) 460.36/164.21 U82(x0, x1, mark(x2)) 460.36/164.21 U82(active(x0), x1, x2) 460.36/164.21 U82(x0, active(x1), x2) 460.36/164.21 U82(x0, x1, active(x2)) 460.36/164.21 U83(mark(x0), x1, x2) 460.36/164.21 U83(x0, mark(x1), x2) 460.36/164.21 U83(x0, x1, mark(x2)) 460.36/164.21 U83(active(x0), x1, x2) 460.36/164.21 U83(x0, active(x1), x2) 460.36/164.21 U83(x0, x1, active(x2)) 460.36/164.21 U84(mark(x0), x1, x2) 460.36/164.21 U84(x0, mark(x1), x2) 460.36/164.21 U84(x0, x1, mark(x2)) 460.36/164.21 U84(active(x0), x1, x2) 460.36/164.21 U84(x0, active(x1), x2) 460.36/164.21 U84(x0, x1, active(x2)) 460.36/164.21 U85(mark(x0), x1) 460.36/164.21 U85(x0, mark(x1)) 460.36/164.21 U85(active(x0), x1) 460.36/164.21 U85(x0, active(x1)) 460.36/164.21 U86(mark(x0)) 460.36/164.21 U86(active(x0)) 460.36/164.21 U91(mark(x0), x1, x2) 460.36/164.21 U91(x0, mark(x1), x2) 460.36/164.21 U91(x0, x1, mark(x2)) 460.36/164.21 U91(active(x0), x1, x2) 460.36/164.21 U91(x0, active(x1), x2) 460.36/164.21 U91(x0, x1, active(x2)) 460.36/164.21 U92(mark(x0), x1, x2) 460.36/164.21 U92(x0, mark(x1), x2) 460.36/164.21 U92(x0, x1, mark(x2)) 460.36/164.21 U92(active(x0), x1, x2) 460.36/164.21 U92(x0, active(x1), x2) 460.36/164.21 U92(x0, x1, active(x2)) 460.36/164.21 U93(mark(x0), x1, x2) 460.36/164.21 U93(x0, mark(x1), x2) 460.36/164.21 U93(x0, x1, mark(x2)) 460.36/164.21 U93(active(x0), x1, x2) 460.36/164.21 U93(x0, active(x1), x2) 460.36/164.21 U93(x0, x1, active(x2)) 460.36/164.21 U94(mark(x0), x1) 460.36/164.21 U94(x0, mark(x1)) 460.36/164.21 U94(active(x0), x1) 460.36/164.21 U94(x0, active(x1)) 460.36/164.21 s(mark(x0)) 460.36/164.21 s(active(x0)) 460.36/164.21 length(mark(x0)) 460.36/164.21 length(active(x0)) 460.36/164.21 460.36/164.21 We have to consider all minimal (P,Q,R)-chains. 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (281) QDPOrderProof (EQUIVALENT) 460.36/164.21 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.21 460.36/164.21 460.36/164.21 The following pairs can be oriented strictly and are deleted. 460.36/164.21 460.36/164.21 ACTIVE(U31(tt, V)) -> MARK(U32(isNatIListKind(V), V)) 460.36/164.21 MARK(U33(X)) -> MARK(X) 460.36/164.21 MARK(U31(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U32(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U41(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U42(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U43(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U44(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U45(X1, X2)) -> MARK(X1) 460.36/164.21 The remaining pairs can at least be oriented weakly. 460.36/164.21 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.21 460.36/164.21 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.21 POL( U11_2(x_1, x_2) ) = x_1 460.36/164.21 POL( U12_2(x_1, x_2) ) = 2x_1 460.36/164.21 POL( U21_2(x_1, x_2) ) = x_1 460.36/164.21 POL( U22_2(x_1, x_2) ) = 2x_1 460.36/164.21 POL( U31_2(x_1, x_2) ) = x_1 + 2 460.36/164.21 POL( U32_2(x_1, x_2) ) = x_1 + 1 460.36/164.21 POL( U41_3(x_1, ..., x_3) ) = x_1 + 2 460.36/164.21 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.21 POL( U43_3(x_1, ..., x_3) ) = x_1 + 2 460.36/164.21 POL( U44_3(x_1, ..., x_3) ) = x_1 + 2 460.36/164.21 POL( U45_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.21 POL( U51_2(x_1, x_2) ) = x_1 460.36/164.21 POL( U81_3(x_1, ..., x_3) ) = x_1 460.36/164.21 POL( U82_3(x_1, ..., x_3) ) = 2x_1 460.36/164.21 POL( U83_3(x_1, ..., x_3) ) = 2x_1 460.36/164.21 POL( U84_3(x_1, ..., x_3) ) = x_1 460.36/164.21 POL( U85_2(x_1, x_2) ) = x_1 460.36/164.21 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.21 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.21 POL( U93_3(x_1, ..., x_3) ) = 2x_1 460.36/164.21 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.21 POL( length_1(x_1) ) = 0 460.36/164.21 POL( mark_1(x_1) ) = x_1 460.36/164.21 POL( zeros ) = 0 460.36/164.21 POL( active_1(x_1) ) = x_1 460.36/164.21 POL( cons_2(x_1, x_2) ) = max{0, -2} 460.36/164.21 POL( 0 ) = 0 460.36/164.21 POL( tt ) = 0 460.36/164.21 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.21 POL( U13_1(x_1) ) = x_1 460.36/164.21 POL( isNatList_1(x_1) ) = 0 460.36/164.21 POL( isNatKind_1(x_1) ) = 0 460.36/164.21 POL( U23_1(x_1) ) = 2x_1 460.36/164.21 POL( isNat_1(x_1) ) = 0 460.36/164.21 POL( U33_1(x_1) ) = 2x_1 + 1 460.36/164.21 POL( U46_1(x_1) ) = x_1 460.36/164.21 POL( isNatIList_1(x_1) ) = 2 460.36/164.21 POL( U52_1(x_1) ) = 2x_1 460.36/164.21 POL( U86_1(x_1) ) = 2x_1 460.36/164.21 POL( s_1(x_1) ) = 2x_1 460.36/164.21 POL( U61_1(x_1) ) = 2x_1 460.36/164.21 POL( U71_1(x_1) ) = 2x_1 460.36/164.21 POL( nil ) = 0 460.36/164.21 POL( MARK_1(x_1) ) = x_1 460.36/164.21 460.36/164.21 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.21 460.36/164.21 mark(zeros) -> active(zeros) 460.36/164.21 active(zeros) -> mark(cons(0, zeros)) 460.36/164.21 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.21 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.21 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.21 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.21 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.21 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.21 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.21 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.21 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.21 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.21 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.21 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.21 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.21 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.21 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.21 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.21 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.21 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.21 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.21 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.21 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.21 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.21 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.21 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.21 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.21 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.21 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.21 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.21 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.21 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.21 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.21 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.21 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.21 mark(s(X)) -> active(s(mark(X))) 460.36/164.21 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.21 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.21 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.21 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.21 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.21 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.21 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.21 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.21 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.21 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.21 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.21 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.21 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.21 mark(0) -> active(0) 460.36/164.21 mark(tt) -> active(tt) 460.36/164.21 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.21 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.21 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.21 mark(isNat(X)) -> active(isNat(X)) 460.36/164.21 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.21 mark(length(X)) -> active(length(mark(X))) 460.36/164.21 mark(nil) -> active(nil) 460.36/164.21 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.21 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.21 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.21 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.21 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.21 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.21 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.21 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.21 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.21 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.21 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.21 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.21 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.21 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.21 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.21 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.21 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.21 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.21 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.21 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.21 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.21 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.21 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.21 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.21 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.21 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.21 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.21 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.21 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.21 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.21 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.21 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.21 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.21 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.21 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.21 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.21 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.21 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.21 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.21 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.21 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.21 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.21 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.21 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.21 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.21 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.21 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.21 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.21 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.21 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.21 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.21 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.21 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.21 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.21 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.21 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.21 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.21 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.21 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.21 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.21 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.21 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.21 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.21 length(mark(X)) -> length(X) 460.36/164.21 length(active(X)) -> length(X) 460.36/164.21 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.21 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.21 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.21 active(U13(tt)) -> mark(tt) 460.36/164.21 active(U23(tt)) -> mark(tt) 460.36/164.21 active(U33(tt)) -> mark(tt) 460.36/164.21 active(U46(tt)) -> mark(tt) 460.36/164.21 active(U52(tt)) -> mark(tt) 460.36/164.21 active(U61(tt)) -> mark(tt) 460.36/164.21 active(U71(tt)) -> mark(tt) 460.36/164.21 active(U86(tt)) -> mark(tt) 460.36/164.21 active(isNat(0)) -> mark(tt) 460.36/164.21 active(isNatIList(zeros)) -> mark(tt) 460.36/164.21 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.21 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.21 active(isNatKind(0)) -> mark(tt) 460.36/164.21 U13(mark(X)) -> U13(X) 460.36/164.21 U13(active(X)) -> U13(X) 460.36/164.21 U23(mark(X)) -> U23(X) 460.36/164.21 U23(active(X)) -> U23(X) 460.36/164.21 U33(mark(X)) -> U33(X) 460.36/164.21 U33(active(X)) -> U33(X) 460.36/164.21 U46(mark(X)) -> U46(X) 460.36/164.21 U46(active(X)) -> U46(X) 460.36/164.21 U52(mark(X)) -> U52(X) 460.36/164.21 U52(active(X)) -> U52(X) 460.36/164.21 U86(mark(X)) -> U86(X) 460.36/164.21 U86(active(X)) -> U86(X) 460.36/164.21 s(mark(X)) -> s(X) 460.36/164.21 s(active(X)) -> s(X) 460.36/164.21 U61(mark(X)) -> U61(X) 460.36/164.21 U61(active(X)) -> U61(X) 460.36/164.21 U71(mark(X)) -> U71(X) 460.36/164.21 U71(active(X)) -> U71(X) 460.36/164.21 460.36/164.21 460.36/164.21 ---------------------------------------- 460.36/164.21 460.36/164.21 (282) 460.36/164.21 Obligation: 460.36/164.21 Q DP problem: 460.36/164.21 The TRS P consists of the following rules: 460.36/164.21 460.36/164.21 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.21 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.21 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.21 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.21 MARK(U13(X)) -> MARK(X) 460.36/164.21 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.21 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.21 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.21 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.21 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.21 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.21 MARK(U23(X)) -> MARK(X) 460.36/164.21 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.21 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.21 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.21 ACTIVE(U32(tt, V)) -> MARK(U33(isNatList(V))) 460.36/164.21 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.21 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.21 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.21 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.21 MARK(U46(X)) -> MARK(X) 460.36/164.21 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.21 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.21 MARK(U61(X)) -> MARK(X) 460.36/164.21 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.21 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.21 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.21 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.21 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.21 MARK(U52(X)) -> MARK(X) 460.36/164.21 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.21 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.21 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.21 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.21 MARK(U86(X)) -> MARK(X) 460.36/164.21 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.21 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.21 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.21 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U71(X)) -> MARK(X) 460.36/164.21 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.21 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.21 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.21 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.21 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.21 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.21 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.21 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.21 MARK(s(X)) -> MARK(X) 460.36/164.21 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.21 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.22 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.22 460.36/164.22 The TRS R consists of the following rules: 460.36/164.22 460.36/164.22 mark(zeros) -> active(zeros) 460.36/164.22 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.22 active(zeros) -> mark(cons(0, zeros)) 460.36/164.22 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.22 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.22 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.22 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.22 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.22 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.22 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.22 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.22 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.22 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.22 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.22 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.22 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.22 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.22 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.22 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.22 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.22 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.22 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.22 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.22 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.22 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.22 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.22 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.22 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.22 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.22 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.22 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.22 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.22 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.22 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.22 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.22 mark(s(X)) -> active(s(mark(X))) 460.36/164.22 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.22 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.22 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.22 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.22 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.22 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.22 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.22 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.22 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.22 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.22 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.22 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.22 mark(0) -> active(0) 460.36/164.22 mark(tt) -> active(tt) 460.36/164.22 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.22 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.22 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.22 mark(isNat(X)) -> active(isNat(X)) 460.36/164.22 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.22 mark(length(X)) -> active(length(mark(X))) 460.36/164.22 mark(nil) -> active(nil) 460.36/164.22 length(active(X)) -> length(X) 460.36/164.22 length(mark(X)) -> length(X) 460.36/164.22 active(U13(tt)) -> mark(tt) 460.36/164.22 active(U23(tt)) -> mark(tt) 460.36/164.22 active(U33(tt)) -> mark(tt) 460.36/164.22 active(U46(tt)) -> mark(tt) 460.36/164.22 active(U52(tt)) -> mark(tt) 460.36/164.22 active(U61(tt)) -> mark(tt) 460.36/164.22 active(U71(tt)) -> mark(tt) 460.36/164.22 active(U86(tt)) -> mark(tt) 460.36/164.22 active(isNat(0)) -> mark(tt) 460.36/164.22 active(isNatIList(zeros)) -> mark(tt) 460.36/164.22 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.22 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.22 active(isNatKind(0)) -> mark(tt) 460.36/164.22 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.22 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.22 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.22 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.22 U13(active(X)) -> U13(X) 460.36/164.22 U13(mark(X)) -> U13(X) 460.36/164.22 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.22 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.22 U23(active(X)) -> U23(X) 460.36/164.22 U23(mark(X)) -> U23(X) 460.36/164.22 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.22 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.22 U33(active(X)) -> U33(X) 460.36/164.22 U33(mark(X)) -> U33(X) 460.36/164.22 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.22 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.22 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.22 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.22 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.22 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.22 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.22 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.22 U46(active(X)) -> U46(X) 460.36/164.22 U46(mark(X)) -> U46(X) 460.36/164.22 U52(active(X)) -> U52(X) 460.36/164.22 U52(mark(X)) -> U52(X) 460.36/164.22 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.22 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.22 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.22 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.22 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.22 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.22 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.22 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.22 U86(active(X)) -> U86(X) 460.36/164.22 U86(mark(X)) -> U86(X) 460.36/164.22 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.22 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.22 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.22 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.22 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.22 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.22 s(active(X)) -> s(X) 460.36/164.22 s(mark(X)) -> s(X) 460.36/164.22 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.22 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.22 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.22 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.22 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.22 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.22 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.22 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.22 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.22 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.22 U61(active(X)) -> U61(X) 460.36/164.22 U61(mark(X)) -> U61(X) 460.36/164.22 U71(active(X)) -> U71(X) 460.36/164.22 U71(mark(X)) -> U71(X) 460.36/164.22 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.22 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.22 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.22 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.22 460.36/164.22 The set Q consists of the following terms: 460.36/164.22 460.36/164.22 active(zeros) 460.36/164.22 active(U11(tt, x0)) 460.36/164.22 active(U12(tt, x0)) 460.36/164.22 active(U13(tt)) 460.36/164.22 active(U21(tt, x0)) 460.36/164.22 active(U22(tt, x0)) 460.36/164.22 active(U23(tt)) 460.36/164.22 active(U31(tt, x0)) 460.36/164.22 active(U32(tt, x0)) 460.36/164.22 active(U33(tt)) 460.36/164.22 active(U41(tt, x0, x1)) 460.36/164.22 active(U42(tt, x0, x1)) 460.36/164.22 active(U43(tt, x0, x1)) 460.36/164.22 active(U44(tt, x0, x1)) 460.36/164.22 active(U45(tt, x0)) 460.36/164.22 active(U46(tt)) 460.36/164.22 active(U51(tt, x0)) 460.36/164.22 active(U52(tt)) 460.36/164.22 active(U61(tt)) 460.36/164.22 active(U71(tt)) 460.36/164.22 active(U81(tt, x0, x1)) 460.36/164.22 active(U82(tt, x0, x1)) 460.36/164.22 active(U83(tt, x0, x1)) 460.36/164.22 active(U84(tt, x0, x1)) 460.36/164.22 active(U85(tt, x0)) 460.36/164.22 active(U86(tt)) 460.36/164.22 active(U91(tt, x0, x1)) 460.36/164.22 active(U92(tt, x0, x1)) 460.36/164.22 active(U93(tt, x0, x1)) 460.36/164.22 active(U94(tt, x0)) 460.36/164.22 active(isNat(0)) 460.36/164.22 active(isNat(length(x0))) 460.36/164.22 active(isNat(s(x0))) 460.36/164.22 active(isNatIList(x0)) 460.36/164.22 active(isNatIListKind(nil)) 460.36/164.22 active(isNatIListKind(zeros)) 460.36/164.22 active(isNatIListKind(cons(x0, x1))) 460.36/164.22 active(isNatKind(0)) 460.36/164.22 active(isNatKind(length(x0))) 460.36/164.22 active(isNatKind(s(x0))) 460.36/164.22 active(isNatList(nil)) 460.36/164.22 active(isNatList(cons(x0, x1))) 460.36/164.22 active(length(nil)) 460.36/164.22 active(length(cons(x0, x1))) 460.36/164.22 mark(zeros) 460.36/164.22 mark(cons(x0, x1)) 460.36/164.22 mark(0) 460.36/164.22 mark(U11(x0, x1)) 460.36/164.22 mark(tt) 460.36/164.22 mark(U12(x0, x1)) 460.36/164.22 mark(isNatIListKind(x0)) 460.36/164.22 mark(U13(x0)) 460.36/164.22 mark(isNatList(x0)) 460.36/164.22 mark(U21(x0, x1)) 460.36/164.22 mark(U22(x0, x1)) 460.36/164.22 mark(isNatKind(x0)) 460.36/164.22 mark(U23(x0)) 460.36/164.22 mark(isNat(x0)) 460.36/164.22 mark(U31(x0, x1)) 460.36/164.22 mark(U32(x0, x1)) 460.36/164.22 mark(U33(x0)) 460.36/164.22 mark(U41(x0, x1, x2)) 460.36/164.22 mark(U42(x0, x1, x2)) 460.36/164.22 mark(U43(x0, x1, x2)) 460.36/164.22 mark(U44(x0, x1, x2)) 460.36/164.22 mark(U45(x0, x1)) 460.36/164.22 mark(U46(x0)) 460.36/164.22 mark(isNatIList(x0)) 460.36/164.22 mark(U51(x0, x1)) 460.36/164.22 mark(U52(x0)) 460.36/164.22 mark(U61(x0)) 460.36/164.22 mark(U71(x0)) 460.36/164.22 mark(U81(x0, x1, x2)) 460.36/164.22 mark(U82(x0, x1, x2)) 460.36/164.22 mark(U83(x0, x1, x2)) 460.36/164.22 mark(U84(x0, x1, x2)) 460.36/164.22 mark(U85(x0, x1)) 460.36/164.22 mark(U86(x0)) 460.36/164.22 mark(U91(x0, x1, x2)) 460.36/164.22 mark(U92(x0, x1, x2)) 460.36/164.22 mark(U93(x0, x1, x2)) 460.36/164.22 mark(U94(x0, x1)) 460.36/164.22 mark(s(x0)) 460.36/164.22 mark(length(x0)) 460.36/164.22 mark(nil) 460.36/164.22 cons(mark(x0), x1) 460.36/164.22 cons(x0, mark(x1)) 460.36/164.22 cons(active(x0), x1) 460.36/164.22 cons(x0, active(x1)) 460.36/164.22 U11(mark(x0), x1) 460.36/164.22 U11(x0, mark(x1)) 460.36/164.22 U11(active(x0), x1) 460.36/164.22 U11(x0, active(x1)) 460.36/164.22 U12(mark(x0), x1) 460.36/164.22 U12(x0, mark(x1)) 460.36/164.22 U12(active(x0), x1) 460.36/164.22 U12(x0, active(x1)) 460.36/164.22 isNatIListKind(mark(x0)) 460.36/164.22 isNatIListKind(active(x0)) 460.36/164.22 U13(mark(x0)) 460.36/164.22 U13(active(x0)) 460.36/164.22 isNatList(mark(x0)) 460.36/164.22 isNatList(active(x0)) 460.36/164.22 U21(mark(x0), x1) 460.36/164.22 U21(x0, mark(x1)) 460.36/164.22 U21(active(x0), x1) 460.36/164.22 U21(x0, active(x1)) 460.36/164.22 U22(mark(x0), x1) 460.36/164.22 U22(x0, mark(x1)) 460.36/164.22 U22(active(x0), x1) 460.36/164.22 U22(x0, active(x1)) 460.36/164.22 isNatKind(mark(x0)) 460.36/164.22 isNatKind(active(x0)) 460.36/164.22 U23(mark(x0)) 460.36/164.22 U23(active(x0)) 460.36/164.22 isNat(mark(x0)) 460.36/164.22 isNat(active(x0)) 460.36/164.22 U31(mark(x0), x1) 460.36/164.22 U31(x0, mark(x1)) 460.36/164.22 U31(active(x0), x1) 460.36/164.22 U31(x0, active(x1)) 460.36/164.22 U32(mark(x0), x1) 460.36/164.22 U32(x0, mark(x1)) 460.36/164.22 U32(active(x0), x1) 460.36/164.22 U32(x0, active(x1)) 460.36/164.22 U33(mark(x0)) 460.36/164.22 U33(active(x0)) 460.36/164.22 U41(mark(x0), x1, x2) 460.36/164.22 U41(x0, mark(x1), x2) 460.36/164.22 U41(x0, x1, mark(x2)) 460.36/164.22 U41(active(x0), x1, x2) 460.36/164.22 U41(x0, active(x1), x2) 460.36/164.22 U41(x0, x1, active(x2)) 460.36/164.22 U42(mark(x0), x1, x2) 460.36/164.22 U42(x0, mark(x1), x2) 460.36/164.22 U42(x0, x1, mark(x2)) 460.36/164.22 U42(active(x0), x1, x2) 460.36/164.22 U42(x0, active(x1), x2) 460.36/164.22 U42(x0, x1, active(x2)) 460.36/164.22 U43(mark(x0), x1, x2) 460.36/164.22 U43(x0, mark(x1), x2) 460.36/164.22 U43(x0, x1, mark(x2)) 460.36/164.22 U43(active(x0), x1, x2) 460.36/164.22 U43(x0, active(x1), x2) 460.36/164.22 U43(x0, x1, active(x2)) 460.36/164.22 U44(mark(x0), x1, x2) 460.36/164.22 U44(x0, mark(x1), x2) 460.36/164.22 U44(x0, x1, mark(x2)) 460.36/164.22 U44(active(x0), x1, x2) 460.36/164.22 U44(x0, active(x1), x2) 460.36/164.22 U44(x0, x1, active(x2)) 460.36/164.22 U45(mark(x0), x1) 460.36/164.22 U45(x0, mark(x1)) 460.36/164.22 U45(active(x0), x1) 460.36/164.22 U45(x0, active(x1)) 460.36/164.22 U46(mark(x0)) 460.36/164.22 U46(active(x0)) 460.36/164.22 isNatIList(mark(x0)) 460.36/164.22 isNatIList(active(x0)) 460.36/164.22 U51(mark(x0), x1) 460.36/164.22 U51(x0, mark(x1)) 460.36/164.22 U51(active(x0), x1) 460.36/164.22 U51(x0, active(x1)) 460.36/164.22 U52(mark(x0)) 460.36/164.22 U52(active(x0)) 460.36/164.22 U61(mark(x0)) 460.36/164.22 U61(active(x0)) 460.36/164.22 U71(mark(x0)) 460.36/164.22 U71(active(x0)) 460.36/164.22 U81(mark(x0), x1, x2) 460.36/164.22 U81(x0, mark(x1), x2) 460.36/164.22 U81(x0, x1, mark(x2)) 460.36/164.22 U81(active(x0), x1, x2) 460.36/164.22 U81(x0, active(x1), x2) 460.36/164.22 U81(x0, x1, active(x2)) 460.36/164.22 U82(mark(x0), x1, x2) 460.36/164.22 U82(x0, mark(x1), x2) 460.36/164.22 U82(x0, x1, mark(x2)) 460.36/164.22 U82(active(x0), x1, x2) 460.36/164.22 U82(x0, active(x1), x2) 460.36/164.22 U82(x0, x1, active(x2)) 460.36/164.22 U83(mark(x0), x1, x2) 460.36/164.22 U83(x0, mark(x1), x2) 460.36/164.22 U83(x0, x1, mark(x2)) 460.36/164.22 U83(active(x0), x1, x2) 460.36/164.22 U83(x0, active(x1), x2) 460.36/164.22 U83(x0, x1, active(x2)) 460.36/164.22 U84(mark(x0), x1, x2) 460.36/164.22 U84(x0, mark(x1), x2) 460.36/164.22 U84(x0, x1, mark(x2)) 460.36/164.22 U84(active(x0), x1, x2) 460.36/164.22 U84(x0, active(x1), x2) 460.36/164.22 U84(x0, x1, active(x2)) 460.36/164.22 U85(mark(x0), x1) 460.36/164.22 U85(x0, mark(x1)) 460.36/164.22 U85(active(x0), x1) 460.36/164.22 U85(x0, active(x1)) 460.36/164.22 U86(mark(x0)) 460.36/164.22 U86(active(x0)) 460.36/164.22 U91(mark(x0), x1, x2) 460.36/164.22 U91(x0, mark(x1), x2) 460.36/164.22 U91(x0, x1, mark(x2)) 460.36/164.22 U91(active(x0), x1, x2) 460.36/164.22 U91(x0, active(x1), x2) 460.36/164.22 U91(x0, x1, active(x2)) 460.36/164.22 U92(mark(x0), x1, x2) 460.36/164.22 U92(x0, mark(x1), x2) 460.36/164.22 U92(x0, x1, mark(x2)) 460.36/164.22 U92(active(x0), x1, x2) 460.36/164.22 U92(x0, active(x1), x2) 460.36/164.22 U92(x0, x1, active(x2)) 460.36/164.22 U93(mark(x0), x1, x2) 460.36/164.22 U93(x0, mark(x1), x2) 460.36/164.22 U93(x0, x1, mark(x2)) 460.36/164.22 U93(active(x0), x1, x2) 460.36/164.22 U93(x0, active(x1), x2) 460.36/164.22 U93(x0, x1, active(x2)) 460.36/164.22 U94(mark(x0), x1) 460.36/164.22 U94(x0, mark(x1)) 460.36/164.22 U94(active(x0), x1) 460.36/164.22 U94(x0, active(x1)) 460.36/164.22 s(mark(x0)) 460.36/164.22 s(active(x0)) 460.36/164.22 length(mark(x0)) 460.36/164.22 length(active(x0)) 460.36/164.22 460.36/164.22 We have to consider all minimal (P,Q,R)-chains. 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (283) DependencyGraphProof (EQUIVALENT) 460.36/164.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (284) 460.36/164.22 Obligation: 460.36/164.22 Q DP problem: 460.36/164.22 The TRS P consists of the following rules: 460.36/164.22 460.36/164.22 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.22 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.22 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.22 MARK(U13(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.22 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.22 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.22 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.22 MARK(U23(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.22 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.22 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.22 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.22 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.22 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.22 MARK(U46(X)) -> MARK(X) 460.36/164.22 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.22 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.22 MARK(U52(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.22 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.22 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.22 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.22 MARK(U86(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.22 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.22 MARK(U61(X)) -> MARK(X) 460.36/164.22 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.22 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.22 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.22 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.22 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.22 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.22 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.22 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.22 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.22 MARK(s(X)) -> MARK(X) 460.36/164.22 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.22 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.22 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.22 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.22 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.22 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.22 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U71(X)) -> MARK(X) 460.36/164.22 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.22 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.22 460.36/164.22 The TRS R consists of the following rules: 460.36/164.22 460.36/164.22 mark(zeros) -> active(zeros) 460.36/164.22 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.22 active(zeros) -> mark(cons(0, zeros)) 460.36/164.22 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.22 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.22 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.22 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.22 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.22 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.22 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.22 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.22 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.22 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.22 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.22 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.22 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.22 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.22 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.22 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.22 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.22 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.22 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.22 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.22 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.22 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.22 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.22 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.22 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.22 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.22 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.22 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.22 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.22 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.22 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.22 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.22 mark(s(X)) -> active(s(mark(X))) 460.36/164.22 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.22 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.22 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.22 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.22 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.22 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.22 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.22 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.22 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.22 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.22 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.22 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.22 mark(0) -> active(0) 460.36/164.22 mark(tt) -> active(tt) 460.36/164.22 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.22 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.22 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.22 mark(isNat(X)) -> active(isNat(X)) 460.36/164.22 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.22 mark(length(X)) -> active(length(mark(X))) 460.36/164.22 mark(nil) -> active(nil) 460.36/164.22 length(active(X)) -> length(X) 460.36/164.22 length(mark(X)) -> length(X) 460.36/164.22 active(U13(tt)) -> mark(tt) 460.36/164.22 active(U23(tt)) -> mark(tt) 460.36/164.22 active(U33(tt)) -> mark(tt) 460.36/164.22 active(U46(tt)) -> mark(tt) 460.36/164.22 active(U52(tt)) -> mark(tt) 460.36/164.22 active(U61(tt)) -> mark(tt) 460.36/164.22 active(U71(tt)) -> mark(tt) 460.36/164.22 active(U86(tt)) -> mark(tt) 460.36/164.22 active(isNat(0)) -> mark(tt) 460.36/164.22 active(isNatIList(zeros)) -> mark(tt) 460.36/164.22 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.22 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.22 active(isNatKind(0)) -> mark(tt) 460.36/164.22 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.22 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.22 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.22 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.22 U13(active(X)) -> U13(X) 460.36/164.22 U13(mark(X)) -> U13(X) 460.36/164.22 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.22 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.22 U23(active(X)) -> U23(X) 460.36/164.22 U23(mark(X)) -> U23(X) 460.36/164.22 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.22 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.22 U33(active(X)) -> U33(X) 460.36/164.22 U33(mark(X)) -> U33(X) 460.36/164.22 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.22 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.22 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.22 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.22 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.22 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.22 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.22 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.22 U46(active(X)) -> U46(X) 460.36/164.22 U46(mark(X)) -> U46(X) 460.36/164.22 U52(active(X)) -> U52(X) 460.36/164.22 U52(mark(X)) -> U52(X) 460.36/164.22 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.22 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.22 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.22 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.22 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.22 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.22 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.22 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.22 U86(active(X)) -> U86(X) 460.36/164.22 U86(mark(X)) -> U86(X) 460.36/164.22 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.22 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.22 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.22 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.22 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.22 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.22 s(active(X)) -> s(X) 460.36/164.22 s(mark(X)) -> s(X) 460.36/164.22 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.22 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.22 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.22 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.22 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.22 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.22 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.22 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.22 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.22 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.22 U61(active(X)) -> U61(X) 460.36/164.22 U61(mark(X)) -> U61(X) 460.36/164.22 U71(active(X)) -> U71(X) 460.36/164.22 U71(mark(X)) -> U71(X) 460.36/164.22 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.22 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.22 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.22 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.22 460.36/164.22 The set Q consists of the following terms: 460.36/164.22 460.36/164.22 active(zeros) 460.36/164.22 active(U11(tt, x0)) 460.36/164.22 active(U12(tt, x0)) 460.36/164.22 active(U13(tt)) 460.36/164.22 active(U21(tt, x0)) 460.36/164.22 active(U22(tt, x0)) 460.36/164.22 active(U23(tt)) 460.36/164.22 active(U31(tt, x0)) 460.36/164.22 active(U32(tt, x0)) 460.36/164.22 active(U33(tt)) 460.36/164.22 active(U41(tt, x0, x1)) 460.36/164.22 active(U42(tt, x0, x1)) 460.36/164.22 active(U43(tt, x0, x1)) 460.36/164.22 active(U44(tt, x0, x1)) 460.36/164.22 active(U45(tt, x0)) 460.36/164.22 active(U46(tt)) 460.36/164.22 active(U51(tt, x0)) 460.36/164.22 active(U52(tt)) 460.36/164.22 active(U61(tt)) 460.36/164.22 active(U71(tt)) 460.36/164.22 active(U81(tt, x0, x1)) 460.36/164.22 active(U82(tt, x0, x1)) 460.36/164.22 active(U83(tt, x0, x1)) 460.36/164.22 active(U84(tt, x0, x1)) 460.36/164.22 active(U85(tt, x0)) 460.36/164.22 active(U86(tt)) 460.36/164.22 active(U91(tt, x0, x1)) 460.36/164.22 active(U92(tt, x0, x1)) 460.36/164.22 active(U93(tt, x0, x1)) 460.36/164.22 active(U94(tt, x0)) 460.36/164.22 active(isNat(0)) 460.36/164.22 active(isNat(length(x0))) 460.36/164.22 active(isNat(s(x0))) 460.36/164.22 active(isNatIList(x0)) 460.36/164.22 active(isNatIListKind(nil)) 460.36/164.22 active(isNatIListKind(zeros)) 460.36/164.22 active(isNatIListKind(cons(x0, x1))) 460.36/164.22 active(isNatKind(0)) 460.36/164.22 active(isNatKind(length(x0))) 460.36/164.22 active(isNatKind(s(x0))) 460.36/164.22 active(isNatList(nil)) 460.36/164.22 active(isNatList(cons(x0, x1))) 460.36/164.22 active(length(nil)) 460.36/164.22 active(length(cons(x0, x1))) 460.36/164.22 mark(zeros) 460.36/164.22 mark(cons(x0, x1)) 460.36/164.22 mark(0) 460.36/164.22 mark(U11(x0, x1)) 460.36/164.22 mark(tt) 460.36/164.22 mark(U12(x0, x1)) 460.36/164.22 mark(isNatIListKind(x0)) 460.36/164.22 mark(U13(x0)) 460.36/164.22 mark(isNatList(x0)) 460.36/164.22 mark(U21(x0, x1)) 460.36/164.22 mark(U22(x0, x1)) 460.36/164.22 mark(isNatKind(x0)) 460.36/164.22 mark(U23(x0)) 460.36/164.22 mark(isNat(x0)) 460.36/164.22 mark(U31(x0, x1)) 460.36/164.22 mark(U32(x0, x1)) 460.36/164.22 mark(U33(x0)) 460.36/164.22 mark(U41(x0, x1, x2)) 460.36/164.22 mark(U42(x0, x1, x2)) 460.36/164.22 mark(U43(x0, x1, x2)) 460.36/164.22 mark(U44(x0, x1, x2)) 460.36/164.22 mark(U45(x0, x1)) 460.36/164.22 mark(U46(x0)) 460.36/164.22 mark(isNatIList(x0)) 460.36/164.22 mark(U51(x0, x1)) 460.36/164.22 mark(U52(x0)) 460.36/164.22 mark(U61(x0)) 460.36/164.22 mark(U71(x0)) 460.36/164.22 mark(U81(x0, x1, x2)) 460.36/164.22 mark(U82(x0, x1, x2)) 460.36/164.22 mark(U83(x0, x1, x2)) 460.36/164.22 mark(U84(x0, x1, x2)) 460.36/164.22 mark(U85(x0, x1)) 460.36/164.22 mark(U86(x0)) 460.36/164.22 mark(U91(x0, x1, x2)) 460.36/164.22 mark(U92(x0, x1, x2)) 460.36/164.22 mark(U93(x0, x1, x2)) 460.36/164.22 mark(U94(x0, x1)) 460.36/164.22 mark(s(x0)) 460.36/164.22 mark(length(x0)) 460.36/164.22 mark(nil) 460.36/164.22 cons(mark(x0), x1) 460.36/164.22 cons(x0, mark(x1)) 460.36/164.22 cons(active(x0), x1) 460.36/164.22 cons(x0, active(x1)) 460.36/164.22 U11(mark(x0), x1) 460.36/164.22 U11(x0, mark(x1)) 460.36/164.22 U11(active(x0), x1) 460.36/164.22 U11(x0, active(x1)) 460.36/164.22 U12(mark(x0), x1) 460.36/164.22 U12(x0, mark(x1)) 460.36/164.22 U12(active(x0), x1) 460.36/164.22 U12(x0, active(x1)) 460.36/164.22 isNatIListKind(mark(x0)) 460.36/164.22 isNatIListKind(active(x0)) 460.36/164.22 U13(mark(x0)) 460.36/164.22 U13(active(x0)) 460.36/164.22 isNatList(mark(x0)) 460.36/164.22 isNatList(active(x0)) 460.36/164.22 U21(mark(x0), x1) 460.36/164.22 U21(x0, mark(x1)) 460.36/164.22 U21(active(x0), x1) 460.36/164.22 U21(x0, active(x1)) 460.36/164.22 U22(mark(x0), x1) 460.36/164.22 U22(x0, mark(x1)) 460.36/164.22 U22(active(x0), x1) 460.36/164.22 U22(x0, active(x1)) 460.36/164.22 isNatKind(mark(x0)) 460.36/164.22 isNatKind(active(x0)) 460.36/164.22 U23(mark(x0)) 460.36/164.22 U23(active(x0)) 460.36/164.22 isNat(mark(x0)) 460.36/164.22 isNat(active(x0)) 460.36/164.22 U31(mark(x0), x1) 460.36/164.22 U31(x0, mark(x1)) 460.36/164.22 U31(active(x0), x1) 460.36/164.22 U31(x0, active(x1)) 460.36/164.22 U32(mark(x0), x1) 460.36/164.22 U32(x0, mark(x1)) 460.36/164.22 U32(active(x0), x1) 460.36/164.22 U32(x0, active(x1)) 460.36/164.22 U33(mark(x0)) 460.36/164.22 U33(active(x0)) 460.36/164.22 U41(mark(x0), x1, x2) 460.36/164.22 U41(x0, mark(x1), x2) 460.36/164.22 U41(x0, x1, mark(x2)) 460.36/164.22 U41(active(x0), x1, x2) 460.36/164.22 U41(x0, active(x1), x2) 460.36/164.22 U41(x0, x1, active(x2)) 460.36/164.22 U42(mark(x0), x1, x2) 460.36/164.22 U42(x0, mark(x1), x2) 460.36/164.22 U42(x0, x1, mark(x2)) 460.36/164.22 U42(active(x0), x1, x2) 460.36/164.22 U42(x0, active(x1), x2) 460.36/164.22 U42(x0, x1, active(x2)) 460.36/164.22 U43(mark(x0), x1, x2) 460.36/164.22 U43(x0, mark(x1), x2) 460.36/164.22 U43(x0, x1, mark(x2)) 460.36/164.22 U43(active(x0), x1, x2) 460.36/164.22 U43(x0, active(x1), x2) 460.36/164.22 U43(x0, x1, active(x2)) 460.36/164.22 U44(mark(x0), x1, x2) 460.36/164.22 U44(x0, mark(x1), x2) 460.36/164.22 U44(x0, x1, mark(x2)) 460.36/164.22 U44(active(x0), x1, x2) 460.36/164.22 U44(x0, active(x1), x2) 460.36/164.22 U44(x0, x1, active(x2)) 460.36/164.22 U45(mark(x0), x1) 460.36/164.22 U45(x0, mark(x1)) 460.36/164.22 U45(active(x0), x1) 460.36/164.22 U45(x0, active(x1)) 460.36/164.22 U46(mark(x0)) 460.36/164.22 U46(active(x0)) 460.36/164.22 isNatIList(mark(x0)) 460.36/164.22 isNatIList(active(x0)) 460.36/164.22 U51(mark(x0), x1) 460.36/164.22 U51(x0, mark(x1)) 460.36/164.22 U51(active(x0), x1) 460.36/164.22 U51(x0, active(x1)) 460.36/164.22 U52(mark(x0)) 460.36/164.22 U52(active(x0)) 460.36/164.22 U61(mark(x0)) 460.36/164.22 U61(active(x0)) 460.36/164.22 U71(mark(x0)) 460.36/164.22 U71(active(x0)) 460.36/164.22 U81(mark(x0), x1, x2) 460.36/164.22 U81(x0, mark(x1), x2) 460.36/164.22 U81(x0, x1, mark(x2)) 460.36/164.22 U81(active(x0), x1, x2) 460.36/164.22 U81(x0, active(x1), x2) 460.36/164.22 U81(x0, x1, active(x2)) 460.36/164.22 U82(mark(x0), x1, x2) 460.36/164.22 U82(x0, mark(x1), x2) 460.36/164.22 U82(x0, x1, mark(x2)) 460.36/164.22 U82(active(x0), x1, x2) 460.36/164.22 U82(x0, active(x1), x2) 460.36/164.22 U82(x0, x1, active(x2)) 460.36/164.22 U83(mark(x0), x1, x2) 460.36/164.22 U83(x0, mark(x1), x2) 460.36/164.22 U83(x0, x1, mark(x2)) 460.36/164.22 U83(active(x0), x1, x2) 460.36/164.22 U83(x0, active(x1), x2) 460.36/164.22 U83(x0, x1, active(x2)) 460.36/164.22 U84(mark(x0), x1, x2) 460.36/164.22 U84(x0, mark(x1), x2) 460.36/164.22 U84(x0, x1, mark(x2)) 460.36/164.22 U84(active(x0), x1, x2) 460.36/164.22 U84(x0, active(x1), x2) 460.36/164.22 U84(x0, x1, active(x2)) 460.36/164.22 U85(mark(x0), x1) 460.36/164.22 U85(x0, mark(x1)) 460.36/164.22 U85(active(x0), x1) 460.36/164.22 U85(x0, active(x1)) 460.36/164.22 U86(mark(x0)) 460.36/164.22 U86(active(x0)) 460.36/164.22 U91(mark(x0), x1, x2) 460.36/164.22 U91(x0, mark(x1), x2) 460.36/164.22 U91(x0, x1, mark(x2)) 460.36/164.22 U91(active(x0), x1, x2) 460.36/164.22 U91(x0, active(x1), x2) 460.36/164.22 U91(x0, x1, active(x2)) 460.36/164.22 U92(mark(x0), x1, x2) 460.36/164.22 U92(x0, mark(x1), x2) 460.36/164.22 U92(x0, x1, mark(x2)) 460.36/164.22 U92(active(x0), x1, x2) 460.36/164.22 U92(x0, active(x1), x2) 460.36/164.22 U92(x0, x1, active(x2)) 460.36/164.22 U93(mark(x0), x1, x2) 460.36/164.22 U93(x0, mark(x1), x2) 460.36/164.22 U93(x0, x1, mark(x2)) 460.36/164.22 U93(active(x0), x1, x2) 460.36/164.22 U93(x0, active(x1), x2) 460.36/164.22 U93(x0, x1, active(x2)) 460.36/164.22 U94(mark(x0), x1) 460.36/164.22 U94(x0, mark(x1)) 460.36/164.22 U94(active(x0), x1) 460.36/164.22 U94(x0, active(x1)) 460.36/164.22 s(mark(x0)) 460.36/164.22 s(active(x0)) 460.36/164.22 length(mark(x0)) 460.36/164.22 length(active(x0)) 460.36/164.22 460.36/164.22 We have to consider all minimal (P,Q,R)-chains. 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (285) QDPOrderProof (EQUIVALENT) 460.36/164.22 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.22 460.36/164.22 460.36/164.22 The following pairs can be oriented strictly and are deleted. 460.36/164.22 460.36/164.22 MARK(U32(X1, X2)) -> ACTIVE(U32(mark(X1), X2)) 460.36/164.22 The remaining pairs can at least be oriented weakly. 460.36/164.22 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.22 460.36/164.22 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.22 POL( U11_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.22 POL( U12_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.22 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.22 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.22 POL( U31_2(x_1, x_2) ) = 0 460.36/164.22 POL( U32_2(x_1, x_2) ) = 2 460.36/164.22 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.22 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.22 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.22 POL( U44_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.22 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.22 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.22 POL( U81_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.22 POL( U82_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.22 POL( U83_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.22 POL( U84_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.22 POL( U85_2(x_1, x_2) ) = x_1 + 1 460.36/164.22 POL( U91_3(x_1, ..., x_3) ) = 0 460.36/164.22 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.22 POL( U93_3(x_1, ..., x_3) ) = 0 460.36/164.22 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.22 POL( length_1(x_1) ) = 0 460.36/164.22 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.22 POL( zeros ) = 0 460.36/164.22 POL( active_1(x_1) ) = max{0, x_1 - 2} 460.36/164.22 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.22 POL( 0 ) = 0 460.36/164.22 POL( tt ) = 1 460.36/164.22 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.22 POL( U13_1(x_1) ) = 2x_1 + 1 460.36/164.22 POL( isNatList_1(x_1) ) = 0 460.36/164.22 POL( isNatKind_1(x_1) ) = 0 460.36/164.22 POL( U23_1(x_1) ) = x_1 + 1 460.36/164.22 POL( isNat_1(x_1) ) = 0 460.36/164.22 POL( U33_1(x_1) ) = max{0, x_1 - 2} 460.36/164.22 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.22 POL( isNatIList_1(x_1) ) = 0 460.36/164.22 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.22 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.22 POL( s_1(x_1) ) = 2x_1 + 1 460.36/164.22 POL( U61_1(x_1) ) = x_1 + 1 460.36/164.22 POL( U71_1(x_1) ) = 2x_1 + 1 460.36/164.22 POL( nil ) = 0 460.36/164.22 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.22 460.36/164.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.22 none 460.36/164.22 460.36/164.22 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (286) 460.36/164.22 Obligation: 460.36/164.22 Q DP problem: 460.36/164.22 The TRS P consists of the following rules: 460.36/164.22 460.36/164.22 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.22 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.22 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.22 MARK(U13(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.22 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.22 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.22 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.22 MARK(U23(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.22 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.22 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.22 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.22 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.22 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.22 MARK(U46(X)) -> MARK(X) 460.36/164.22 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.22 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.22 MARK(U52(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.22 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.22 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.22 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.22 MARK(U86(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.22 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.22 MARK(U61(X)) -> MARK(X) 460.36/164.22 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.22 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.22 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.22 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.22 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.22 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.22 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.22 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.22 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.22 MARK(s(X)) -> MARK(X) 460.36/164.22 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.22 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.22 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.22 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.22 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.22 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U71(X)) -> MARK(X) 460.36/164.22 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.22 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.22 460.36/164.22 The TRS R consists of the following rules: 460.36/164.22 460.36/164.22 mark(zeros) -> active(zeros) 460.36/164.22 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.22 active(zeros) -> mark(cons(0, zeros)) 460.36/164.22 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.22 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.22 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.22 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.22 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.22 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.22 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.22 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.22 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.22 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.22 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.22 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.22 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.22 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.22 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.22 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.22 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.22 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.22 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.22 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.22 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.22 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.22 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.22 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.22 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.22 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.22 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.22 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.22 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.22 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.22 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.22 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.22 mark(s(X)) -> active(s(mark(X))) 460.36/164.22 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.22 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.22 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.22 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.22 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.22 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.22 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.22 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.22 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.22 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.22 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.22 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.22 mark(0) -> active(0) 460.36/164.22 mark(tt) -> active(tt) 460.36/164.22 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.22 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.22 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.22 mark(isNat(X)) -> active(isNat(X)) 460.36/164.22 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.22 mark(length(X)) -> active(length(mark(X))) 460.36/164.22 mark(nil) -> active(nil) 460.36/164.22 length(active(X)) -> length(X) 460.36/164.22 length(mark(X)) -> length(X) 460.36/164.22 active(U13(tt)) -> mark(tt) 460.36/164.22 active(U23(tt)) -> mark(tt) 460.36/164.22 active(U33(tt)) -> mark(tt) 460.36/164.22 active(U46(tt)) -> mark(tt) 460.36/164.22 active(U52(tt)) -> mark(tt) 460.36/164.22 active(U61(tt)) -> mark(tt) 460.36/164.22 active(U71(tt)) -> mark(tt) 460.36/164.22 active(U86(tt)) -> mark(tt) 460.36/164.22 active(isNat(0)) -> mark(tt) 460.36/164.22 active(isNatIList(zeros)) -> mark(tt) 460.36/164.22 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.22 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.22 active(isNatKind(0)) -> mark(tt) 460.36/164.22 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.22 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.22 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.22 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.22 U13(active(X)) -> U13(X) 460.36/164.22 U13(mark(X)) -> U13(X) 460.36/164.22 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.22 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.22 U23(active(X)) -> U23(X) 460.36/164.22 U23(mark(X)) -> U23(X) 460.36/164.22 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.22 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.22 U33(active(X)) -> U33(X) 460.36/164.22 U33(mark(X)) -> U33(X) 460.36/164.22 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.22 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.22 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.22 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.22 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.22 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.22 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.22 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.22 U46(active(X)) -> U46(X) 460.36/164.22 U46(mark(X)) -> U46(X) 460.36/164.22 U52(active(X)) -> U52(X) 460.36/164.22 U52(mark(X)) -> U52(X) 460.36/164.22 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.22 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.22 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.22 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.22 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.22 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.22 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.22 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.22 U86(active(X)) -> U86(X) 460.36/164.22 U86(mark(X)) -> U86(X) 460.36/164.22 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.22 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.22 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.22 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.22 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.22 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.22 s(active(X)) -> s(X) 460.36/164.22 s(mark(X)) -> s(X) 460.36/164.22 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.22 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.22 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.22 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.22 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.22 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.22 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.22 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.22 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.22 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.22 U61(active(X)) -> U61(X) 460.36/164.22 U61(mark(X)) -> U61(X) 460.36/164.22 U71(active(X)) -> U71(X) 460.36/164.22 U71(mark(X)) -> U71(X) 460.36/164.22 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.22 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.22 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.22 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.22 460.36/164.22 The set Q consists of the following terms: 460.36/164.22 460.36/164.22 active(zeros) 460.36/164.22 active(U11(tt, x0)) 460.36/164.22 active(U12(tt, x0)) 460.36/164.22 active(U13(tt)) 460.36/164.22 active(U21(tt, x0)) 460.36/164.22 active(U22(tt, x0)) 460.36/164.22 active(U23(tt)) 460.36/164.22 active(U31(tt, x0)) 460.36/164.22 active(U32(tt, x0)) 460.36/164.22 active(U33(tt)) 460.36/164.22 active(U41(tt, x0, x1)) 460.36/164.22 active(U42(tt, x0, x1)) 460.36/164.22 active(U43(tt, x0, x1)) 460.36/164.22 active(U44(tt, x0, x1)) 460.36/164.22 active(U45(tt, x0)) 460.36/164.22 active(U46(tt)) 460.36/164.22 active(U51(tt, x0)) 460.36/164.22 active(U52(tt)) 460.36/164.22 active(U61(tt)) 460.36/164.22 active(U71(tt)) 460.36/164.22 active(U81(tt, x0, x1)) 460.36/164.22 active(U82(tt, x0, x1)) 460.36/164.22 active(U83(tt, x0, x1)) 460.36/164.22 active(U84(tt, x0, x1)) 460.36/164.22 active(U85(tt, x0)) 460.36/164.22 active(U86(tt)) 460.36/164.22 active(U91(tt, x0, x1)) 460.36/164.22 active(U92(tt, x0, x1)) 460.36/164.22 active(U93(tt, x0, x1)) 460.36/164.22 active(U94(tt, x0)) 460.36/164.22 active(isNat(0)) 460.36/164.22 active(isNat(length(x0))) 460.36/164.22 active(isNat(s(x0))) 460.36/164.22 active(isNatIList(x0)) 460.36/164.22 active(isNatIListKind(nil)) 460.36/164.22 active(isNatIListKind(zeros)) 460.36/164.22 active(isNatIListKind(cons(x0, x1))) 460.36/164.22 active(isNatKind(0)) 460.36/164.22 active(isNatKind(length(x0))) 460.36/164.22 active(isNatKind(s(x0))) 460.36/164.22 active(isNatList(nil)) 460.36/164.22 active(isNatList(cons(x0, x1))) 460.36/164.22 active(length(nil)) 460.36/164.22 active(length(cons(x0, x1))) 460.36/164.22 mark(zeros) 460.36/164.22 mark(cons(x0, x1)) 460.36/164.22 mark(0) 460.36/164.22 mark(U11(x0, x1)) 460.36/164.22 mark(tt) 460.36/164.22 mark(U12(x0, x1)) 460.36/164.22 mark(isNatIListKind(x0)) 460.36/164.22 mark(U13(x0)) 460.36/164.22 mark(isNatList(x0)) 460.36/164.22 mark(U21(x0, x1)) 460.36/164.22 mark(U22(x0, x1)) 460.36/164.22 mark(isNatKind(x0)) 460.36/164.22 mark(U23(x0)) 460.36/164.22 mark(isNat(x0)) 460.36/164.22 mark(U31(x0, x1)) 460.36/164.22 mark(U32(x0, x1)) 460.36/164.22 mark(U33(x0)) 460.36/164.22 mark(U41(x0, x1, x2)) 460.36/164.22 mark(U42(x0, x1, x2)) 460.36/164.22 mark(U43(x0, x1, x2)) 460.36/164.22 mark(U44(x0, x1, x2)) 460.36/164.22 mark(U45(x0, x1)) 460.36/164.22 mark(U46(x0)) 460.36/164.22 mark(isNatIList(x0)) 460.36/164.22 mark(U51(x0, x1)) 460.36/164.22 mark(U52(x0)) 460.36/164.22 mark(U61(x0)) 460.36/164.22 mark(U71(x0)) 460.36/164.22 mark(U81(x0, x1, x2)) 460.36/164.22 mark(U82(x0, x1, x2)) 460.36/164.22 mark(U83(x0, x1, x2)) 460.36/164.22 mark(U84(x0, x1, x2)) 460.36/164.22 mark(U85(x0, x1)) 460.36/164.22 mark(U86(x0)) 460.36/164.22 mark(U91(x0, x1, x2)) 460.36/164.22 mark(U92(x0, x1, x2)) 460.36/164.22 mark(U93(x0, x1, x2)) 460.36/164.22 mark(U94(x0, x1)) 460.36/164.22 mark(s(x0)) 460.36/164.22 mark(length(x0)) 460.36/164.22 mark(nil) 460.36/164.22 cons(mark(x0), x1) 460.36/164.22 cons(x0, mark(x1)) 460.36/164.22 cons(active(x0), x1) 460.36/164.22 cons(x0, active(x1)) 460.36/164.22 U11(mark(x0), x1) 460.36/164.22 U11(x0, mark(x1)) 460.36/164.22 U11(active(x0), x1) 460.36/164.22 U11(x0, active(x1)) 460.36/164.22 U12(mark(x0), x1) 460.36/164.22 U12(x0, mark(x1)) 460.36/164.22 U12(active(x0), x1) 460.36/164.22 U12(x0, active(x1)) 460.36/164.22 isNatIListKind(mark(x0)) 460.36/164.22 isNatIListKind(active(x0)) 460.36/164.22 U13(mark(x0)) 460.36/164.22 U13(active(x0)) 460.36/164.22 isNatList(mark(x0)) 460.36/164.22 isNatList(active(x0)) 460.36/164.22 U21(mark(x0), x1) 460.36/164.22 U21(x0, mark(x1)) 460.36/164.22 U21(active(x0), x1) 460.36/164.22 U21(x0, active(x1)) 460.36/164.22 U22(mark(x0), x1) 460.36/164.22 U22(x0, mark(x1)) 460.36/164.22 U22(active(x0), x1) 460.36/164.22 U22(x0, active(x1)) 460.36/164.22 isNatKind(mark(x0)) 460.36/164.22 isNatKind(active(x0)) 460.36/164.22 U23(mark(x0)) 460.36/164.22 U23(active(x0)) 460.36/164.22 isNat(mark(x0)) 460.36/164.22 isNat(active(x0)) 460.36/164.22 U31(mark(x0), x1) 460.36/164.22 U31(x0, mark(x1)) 460.36/164.22 U31(active(x0), x1) 460.36/164.22 U31(x0, active(x1)) 460.36/164.22 U32(mark(x0), x1) 460.36/164.22 U32(x0, mark(x1)) 460.36/164.22 U32(active(x0), x1) 460.36/164.22 U32(x0, active(x1)) 460.36/164.22 U33(mark(x0)) 460.36/164.22 U33(active(x0)) 460.36/164.22 U41(mark(x0), x1, x2) 460.36/164.22 U41(x0, mark(x1), x2) 460.36/164.22 U41(x0, x1, mark(x2)) 460.36/164.22 U41(active(x0), x1, x2) 460.36/164.22 U41(x0, active(x1), x2) 460.36/164.22 U41(x0, x1, active(x2)) 460.36/164.22 U42(mark(x0), x1, x2) 460.36/164.22 U42(x0, mark(x1), x2) 460.36/164.22 U42(x0, x1, mark(x2)) 460.36/164.22 U42(active(x0), x1, x2) 460.36/164.22 U42(x0, active(x1), x2) 460.36/164.22 U42(x0, x1, active(x2)) 460.36/164.22 U43(mark(x0), x1, x2) 460.36/164.22 U43(x0, mark(x1), x2) 460.36/164.22 U43(x0, x1, mark(x2)) 460.36/164.22 U43(active(x0), x1, x2) 460.36/164.22 U43(x0, active(x1), x2) 460.36/164.22 U43(x0, x1, active(x2)) 460.36/164.22 U44(mark(x0), x1, x2) 460.36/164.22 U44(x0, mark(x1), x2) 460.36/164.22 U44(x0, x1, mark(x2)) 460.36/164.22 U44(active(x0), x1, x2) 460.36/164.22 U44(x0, active(x1), x2) 460.36/164.22 U44(x0, x1, active(x2)) 460.36/164.22 U45(mark(x0), x1) 460.36/164.22 U45(x0, mark(x1)) 460.36/164.22 U45(active(x0), x1) 460.36/164.22 U45(x0, active(x1)) 460.36/164.22 U46(mark(x0)) 460.36/164.22 U46(active(x0)) 460.36/164.22 isNatIList(mark(x0)) 460.36/164.22 isNatIList(active(x0)) 460.36/164.22 U51(mark(x0), x1) 460.36/164.22 U51(x0, mark(x1)) 460.36/164.22 U51(active(x0), x1) 460.36/164.22 U51(x0, active(x1)) 460.36/164.22 U52(mark(x0)) 460.36/164.22 U52(active(x0)) 460.36/164.22 U61(mark(x0)) 460.36/164.22 U61(active(x0)) 460.36/164.22 U71(mark(x0)) 460.36/164.22 U71(active(x0)) 460.36/164.22 U81(mark(x0), x1, x2) 460.36/164.22 U81(x0, mark(x1), x2) 460.36/164.22 U81(x0, x1, mark(x2)) 460.36/164.22 U81(active(x0), x1, x2) 460.36/164.22 U81(x0, active(x1), x2) 460.36/164.22 U81(x0, x1, active(x2)) 460.36/164.22 U82(mark(x0), x1, x2) 460.36/164.22 U82(x0, mark(x1), x2) 460.36/164.22 U82(x0, x1, mark(x2)) 460.36/164.22 U82(active(x0), x1, x2) 460.36/164.22 U82(x0, active(x1), x2) 460.36/164.22 U82(x0, x1, active(x2)) 460.36/164.22 U83(mark(x0), x1, x2) 460.36/164.22 U83(x0, mark(x1), x2) 460.36/164.22 U83(x0, x1, mark(x2)) 460.36/164.22 U83(active(x0), x1, x2) 460.36/164.22 U83(x0, active(x1), x2) 460.36/164.22 U83(x0, x1, active(x2)) 460.36/164.22 U84(mark(x0), x1, x2) 460.36/164.22 U84(x0, mark(x1), x2) 460.36/164.22 U84(x0, x1, mark(x2)) 460.36/164.22 U84(active(x0), x1, x2) 460.36/164.22 U84(x0, active(x1), x2) 460.36/164.22 U84(x0, x1, active(x2)) 460.36/164.22 U85(mark(x0), x1) 460.36/164.22 U85(x0, mark(x1)) 460.36/164.22 U85(active(x0), x1) 460.36/164.22 U85(x0, active(x1)) 460.36/164.22 U86(mark(x0)) 460.36/164.22 U86(active(x0)) 460.36/164.22 U91(mark(x0), x1, x2) 460.36/164.22 U91(x0, mark(x1), x2) 460.36/164.22 U91(x0, x1, mark(x2)) 460.36/164.22 U91(active(x0), x1, x2) 460.36/164.22 U91(x0, active(x1), x2) 460.36/164.22 U91(x0, x1, active(x2)) 460.36/164.22 U92(mark(x0), x1, x2) 460.36/164.22 U92(x0, mark(x1), x2) 460.36/164.22 U92(x0, x1, mark(x2)) 460.36/164.22 U92(active(x0), x1, x2) 460.36/164.22 U92(x0, active(x1), x2) 460.36/164.22 U92(x0, x1, active(x2)) 460.36/164.22 U93(mark(x0), x1, x2) 460.36/164.22 U93(x0, mark(x1), x2) 460.36/164.22 U93(x0, x1, mark(x2)) 460.36/164.22 U93(active(x0), x1, x2) 460.36/164.22 U93(x0, active(x1), x2) 460.36/164.22 U93(x0, x1, active(x2)) 460.36/164.22 U94(mark(x0), x1) 460.36/164.22 U94(x0, mark(x1)) 460.36/164.22 U94(active(x0), x1) 460.36/164.22 U94(x0, active(x1)) 460.36/164.22 s(mark(x0)) 460.36/164.22 s(active(x0)) 460.36/164.22 length(mark(x0)) 460.36/164.22 length(active(x0)) 460.36/164.22 460.36/164.22 We have to consider all minimal (P,Q,R)-chains. 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (287) QDPOrderProof (EQUIVALENT) 460.36/164.22 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.22 460.36/164.22 460.36/164.22 The following pairs can be oriented strictly and are deleted. 460.36/164.22 460.36/164.22 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 460.36/164.22 The remaining pairs can at least be oriented weakly. 460.36/164.22 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.22 460.36/164.22 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 460.36/164.22 POL( U11_2(x_1, x_2) ) = 2 460.36/164.22 POL( U12_2(x_1, x_2) ) = 2 460.36/164.22 POL( U21_2(x_1, x_2) ) = 2 460.36/164.22 POL( U22_2(x_1, x_2) ) = 2 460.36/164.22 POL( U31_2(x_1, x_2) ) = max{0, -2} 460.36/164.22 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U43_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U45_2(x_1, x_2) ) = 2 460.36/164.22 POL( U51_2(x_1, x_2) ) = 2 460.36/164.22 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U85_2(x_1, x_2) ) = 2 460.36/164.22 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.22 POL( U94_2(x_1, x_2) ) = 2 460.36/164.22 POL( length_1(x_1) ) = 2 460.36/164.22 POL( mark_1(x_1) ) = 2 460.36/164.22 POL( zeros ) = 0 460.36/164.22 POL( active_1(x_1) ) = max{0, -2} 460.36/164.22 POL( cons_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.22 POL( 0 ) = 0 460.36/164.22 POL( tt ) = 0 460.36/164.22 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.22 POL( U13_1(x_1) ) = max{0, x_1 - 2} 460.36/164.22 POL( isNatList_1(x_1) ) = 2 460.36/164.22 POL( isNatKind_1(x_1) ) = 2 460.36/164.22 POL( U23_1(x_1) ) = max{0, x_1 - 2} 460.36/164.22 POL( isNat_1(x_1) ) = 2 460.36/164.22 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.36/164.22 POL( U33_1(x_1) ) = 2 460.36/164.22 POL( U46_1(x_1) ) = max{0, -2} 460.36/164.22 POL( isNatIList_1(x_1) ) = 2 460.36/164.22 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.22 POL( U86_1(x_1) ) = max{0, -2} 460.36/164.22 POL( s_1(x_1) ) = max{0, -2} 460.36/164.22 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.22 POL( U71_1(x_1) ) = max{0, -2} 460.36/164.22 POL( nil ) = 0 460.36/164.22 POL( MARK_1(x_1) ) = 1 460.36/164.22 460.36/164.22 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.22 460.36/164.22 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.22 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.22 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.22 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.22 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.22 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.22 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.22 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.22 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.22 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.22 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.22 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.22 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.22 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.22 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.22 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.22 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.22 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.22 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.22 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.22 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.22 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.22 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.22 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.22 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.22 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.22 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.22 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.22 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.22 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.22 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.22 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.22 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.22 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.22 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.22 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.22 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.22 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.22 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.22 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.22 length(mark(X)) -> length(X) 460.36/164.22 length(active(X)) -> length(X) 460.36/164.22 460.36/164.22 460.36/164.22 ---------------------------------------- 460.36/164.22 460.36/164.22 (288) 460.36/164.22 Obligation: 460.36/164.22 Q DP problem: 460.36/164.22 The TRS P consists of the following rules: 460.36/164.22 460.36/164.22 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.22 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.22 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.22 MARK(U13(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.22 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.22 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.22 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.22 MARK(U23(X)) -> MARK(X) 460.36/164.22 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.22 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.22 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.22 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.22 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.22 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.22 MARK(U46(X)) -> MARK(X) 460.36/164.22 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.22 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.22 MARK(U52(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.22 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.22 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.22 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.22 MARK(U86(X)) -> MARK(X) 460.36/164.22 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.22 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.22 MARK(U61(X)) -> MARK(X) 460.36/164.22 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.22 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.22 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.22 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.22 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.22 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.22 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.22 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.22 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.22 MARK(s(X)) -> MARK(X) 460.36/164.22 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.22 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.22 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.22 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.22 ACTIVE(isNatIList(V)) -> MARK(U31(isNatIListKind(V), V)) 460.36/164.22 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.22 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(U71(X)) -> MARK(X) 460.36/164.22 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.22 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.22 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.22 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.22 460.36/164.22 The TRS R consists of the following rules: 460.36/164.22 460.36/164.22 mark(zeros) -> active(zeros) 460.36/164.22 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.22 active(zeros) -> mark(cons(0, zeros)) 460.36/164.22 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.22 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.22 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.22 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.22 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.22 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.22 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.22 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.22 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.22 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.22 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.22 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.22 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.22 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.22 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.22 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.22 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.22 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.22 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.22 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.22 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.22 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.22 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.22 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.22 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.22 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.22 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.22 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.22 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.22 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.22 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.22 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.22 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.22 mark(s(X)) -> active(s(mark(X))) 460.36/164.22 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.22 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.22 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.22 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.22 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.22 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.22 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.22 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.22 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.22 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.22 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.22 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.22 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.22 mark(0) -> active(0) 460.36/164.22 mark(tt) -> active(tt) 460.36/164.22 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.22 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.22 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.22 mark(isNat(X)) -> active(isNat(X)) 460.36/164.22 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.22 mark(length(X)) -> active(length(mark(X))) 460.36/164.22 mark(nil) -> active(nil) 460.36/164.22 length(active(X)) -> length(X) 460.36/164.22 length(mark(X)) -> length(X) 460.36/164.22 active(U13(tt)) -> mark(tt) 460.36/164.22 active(U23(tt)) -> mark(tt) 460.36/164.22 active(U33(tt)) -> mark(tt) 460.36/164.22 active(U46(tt)) -> mark(tt) 460.36/164.22 active(U52(tt)) -> mark(tt) 460.36/164.22 active(U61(tt)) -> mark(tt) 460.36/164.22 active(U71(tt)) -> mark(tt) 460.36/164.22 active(U86(tt)) -> mark(tt) 460.36/164.22 active(isNat(0)) -> mark(tt) 460.36/164.22 active(isNatIList(zeros)) -> mark(tt) 460.36/164.22 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.22 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.22 active(isNatKind(0)) -> mark(tt) 460.36/164.22 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.22 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.22 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.22 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.22 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.22 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.22 U13(active(X)) -> U13(X) 460.36/164.22 U13(mark(X)) -> U13(X) 460.36/164.22 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.22 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.22 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.22 U23(active(X)) -> U23(X) 460.36/164.22 U23(mark(X)) -> U23(X) 460.36/164.22 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.22 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.22 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.22 U33(active(X)) -> U33(X) 460.36/164.22 U33(mark(X)) -> U33(X) 460.36/164.22 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.22 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.22 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.22 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.22 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.22 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.22 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.22 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.22 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.22 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.22 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.22 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.22 U46(active(X)) -> U46(X) 460.36/164.22 U46(mark(X)) -> U46(X) 460.36/164.22 U52(active(X)) -> U52(X) 460.36/164.22 U52(mark(X)) -> U52(X) 460.36/164.22 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.22 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.22 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.22 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.22 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.22 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.22 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.22 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.22 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.22 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.22 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.22 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.22 U86(active(X)) -> U86(X) 460.36/164.22 U86(mark(X)) -> U86(X) 460.36/164.22 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.22 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.22 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.22 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.22 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.22 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.22 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.22 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.22 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.22 s(active(X)) -> s(X) 460.36/164.22 s(mark(X)) -> s(X) 460.36/164.22 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.22 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.22 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.22 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.22 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.22 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.22 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.22 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.22 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.22 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.22 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.22 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.22 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.22 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.22 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.22 U61(active(X)) -> U61(X) 460.36/164.22 U61(mark(X)) -> U61(X) 460.36/164.22 U71(active(X)) -> U71(X) 460.36/164.22 U71(mark(X)) -> U71(X) 460.36/164.22 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.22 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.22 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.22 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.22 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.22 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.22 460.36/164.22 The set Q consists of the following terms: 460.36/164.22 460.36/164.22 active(zeros) 460.36/164.22 active(U11(tt, x0)) 460.36/164.22 active(U12(tt, x0)) 460.36/164.22 active(U13(tt)) 460.36/164.22 active(U21(tt, x0)) 460.36/164.22 active(U22(tt, x0)) 460.36/164.22 active(U23(tt)) 460.36/164.22 active(U31(tt, x0)) 460.36/164.22 active(U32(tt, x0)) 460.36/164.22 active(U33(tt)) 460.36/164.22 active(U41(tt, x0, x1)) 460.36/164.22 active(U42(tt, x0, x1)) 460.36/164.22 active(U43(tt, x0, x1)) 460.36/164.22 active(U44(tt, x0, x1)) 460.36/164.22 active(U45(tt, x0)) 460.36/164.22 active(U46(tt)) 460.36/164.22 active(U51(tt, x0)) 460.36/164.22 active(U52(tt)) 460.36/164.22 active(U61(tt)) 460.36/164.22 active(U71(tt)) 460.36/164.22 active(U81(tt, x0, x1)) 460.36/164.22 active(U82(tt, x0, x1)) 460.36/164.22 active(U83(tt, x0, x1)) 460.36/164.22 active(U84(tt, x0, x1)) 460.36/164.22 active(U85(tt, x0)) 460.36/164.22 active(U86(tt)) 460.36/164.22 active(U91(tt, x0, x1)) 460.36/164.22 active(U92(tt, x0, x1)) 460.36/164.22 active(U93(tt, x0, x1)) 460.36/164.22 active(U94(tt, x0)) 460.36/164.22 active(isNat(0)) 460.36/164.22 active(isNat(length(x0))) 460.36/164.22 active(isNat(s(x0))) 460.36/164.22 active(isNatIList(x0)) 460.36/164.22 active(isNatIListKind(nil)) 460.36/164.22 active(isNatIListKind(zeros)) 460.36/164.22 active(isNatIListKind(cons(x0, x1))) 460.36/164.22 active(isNatKind(0)) 460.36/164.22 active(isNatKind(length(x0))) 460.36/164.22 active(isNatKind(s(x0))) 460.36/164.22 active(isNatList(nil)) 460.36/164.22 active(isNatList(cons(x0, x1))) 460.36/164.22 active(length(nil)) 460.36/164.22 active(length(cons(x0, x1))) 460.36/164.22 mark(zeros) 460.36/164.22 mark(cons(x0, x1)) 460.36/164.22 mark(0) 460.36/164.22 mark(U11(x0, x1)) 460.36/164.22 mark(tt) 460.36/164.22 mark(U12(x0, x1)) 460.36/164.22 mark(isNatIListKind(x0)) 460.36/164.22 mark(U13(x0)) 460.36/164.22 mark(isNatList(x0)) 460.36/164.22 mark(U21(x0, x1)) 460.36/164.22 mark(U22(x0, x1)) 460.36/164.22 mark(isNatKind(x0)) 460.36/164.22 mark(U23(x0)) 460.36/164.22 mark(isNat(x0)) 460.36/164.22 mark(U31(x0, x1)) 460.36/164.22 mark(U32(x0, x1)) 460.36/164.22 mark(U33(x0)) 460.36/164.22 mark(U41(x0, x1, x2)) 460.36/164.22 mark(U42(x0, x1, x2)) 460.36/164.22 mark(U43(x0, x1, x2)) 460.36/164.22 mark(U44(x0, x1, x2)) 460.36/164.22 mark(U45(x0, x1)) 460.36/164.22 mark(U46(x0)) 460.36/164.22 mark(isNatIList(x0)) 460.36/164.22 mark(U51(x0, x1)) 460.36/164.22 mark(U52(x0)) 460.36/164.22 mark(U61(x0)) 460.36/164.22 mark(U71(x0)) 460.36/164.22 mark(U81(x0, x1, x2)) 460.36/164.22 mark(U82(x0, x1, x2)) 460.36/164.22 mark(U83(x0, x1, x2)) 460.36/164.22 mark(U84(x0, x1, x2)) 460.36/164.22 mark(U85(x0, x1)) 460.36/164.22 mark(U86(x0)) 460.36/164.22 mark(U91(x0, x1, x2)) 460.36/164.22 mark(U92(x0, x1, x2)) 460.36/164.22 mark(U93(x0, x1, x2)) 460.36/164.22 mark(U94(x0, x1)) 460.36/164.22 mark(s(x0)) 460.36/164.22 mark(length(x0)) 460.36/164.22 mark(nil) 460.36/164.22 cons(mark(x0), x1) 460.36/164.22 cons(x0, mark(x1)) 460.36/164.22 cons(active(x0), x1) 460.36/164.22 cons(x0, active(x1)) 460.36/164.22 U11(mark(x0), x1) 460.36/164.22 U11(x0, mark(x1)) 460.36/164.22 U11(active(x0), x1) 460.36/164.22 U11(x0, active(x1)) 460.36/164.22 U12(mark(x0), x1) 460.36/164.22 U12(x0, mark(x1)) 460.36/164.22 U12(active(x0), x1) 460.36/164.22 U12(x0, active(x1)) 460.36/164.22 isNatIListKind(mark(x0)) 460.36/164.22 isNatIListKind(active(x0)) 460.36/164.22 U13(mark(x0)) 460.36/164.22 U13(active(x0)) 460.36/164.22 isNatList(mark(x0)) 460.36/164.22 isNatList(active(x0)) 460.36/164.22 U21(mark(x0), x1) 460.36/164.22 U21(x0, mark(x1)) 460.36/164.22 U21(active(x0), x1) 460.36/164.22 U21(x0, active(x1)) 460.36/164.22 U22(mark(x0), x1) 460.36/164.22 U22(x0, mark(x1)) 460.36/164.22 U22(active(x0), x1) 460.36/164.22 U22(x0, active(x1)) 460.36/164.22 isNatKind(mark(x0)) 460.36/164.22 isNatKind(active(x0)) 460.36/164.23 U23(mark(x0)) 460.36/164.23 U23(active(x0)) 460.36/164.23 isNat(mark(x0)) 460.36/164.23 isNat(active(x0)) 460.36/164.23 U31(mark(x0), x1) 460.36/164.23 U31(x0, mark(x1)) 460.36/164.23 U31(active(x0), x1) 460.36/164.23 U31(x0, active(x1)) 460.36/164.23 U32(mark(x0), x1) 460.36/164.23 U32(x0, mark(x1)) 460.36/164.23 U32(active(x0), x1) 460.36/164.23 U32(x0, active(x1)) 460.36/164.23 U33(mark(x0)) 460.36/164.23 U33(active(x0)) 460.36/164.23 U41(mark(x0), x1, x2) 460.36/164.23 U41(x0, mark(x1), x2) 460.36/164.23 U41(x0, x1, mark(x2)) 460.36/164.23 U41(active(x0), x1, x2) 460.36/164.23 U41(x0, active(x1), x2) 460.36/164.23 U41(x0, x1, active(x2)) 460.36/164.23 U42(mark(x0), x1, x2) 460.36/164.23 U42(x0, mark(x1), x2) 460.36/164.23 U42(x0, x1, mark(x2)) 460.36/164.23 U42(active(x0), x1, x2) 460.36/164.23 U42(x0, active(x1), x2) 460.36/164.23 U42(x0, x1, active(x2)) 460.36/164.23 U43(mark(x0), x1, x2) 460.36/164.23 U43(x0, mark(x1), x2) 460.36/164.23 U43(x0, x1, mark(x2)) 460.36/164.23 U43(active(x0), x1, x2) 460.36/164.23 U43(x0, active(x1), x2) 460.36/164.23 U43(x0, x1, active(x2)) 460.36/164.23 U44(mark(x0), x1, x2) 460.36/164.23 U44(x0, mark(x1), x2) 460.36/164.23 U44(x0, x1, mark(x2)) 460.36/164.23 U44(active(x0), x1, x2) 460.36/164.23 U44(x0, active(x1), x2) 460.36/164.23 U44(x0, x1, active(x2)) 460.36/164.23 U45(mark(x0), x1) 460.36/164.23 U45(x0, mark(x1)) 460.36/164.23 U45(active(x0), x1) 460.36/164.23 U45(x0, active(x1)) 460.36/164.23 U46(mark(x0)) 460.36/164.23 U46(active(x0)) 460.36/164.23 isNatIList(mark(x0)) 460.36/164.23 isNatIList(active(x0)) 460.36/164.23 U51(mark(x0), x1) 460.36/164.23 U51(x0, mark(x1)) 460.36/164.23 U51(active(x0), x1) 460.36/164.23 U51(x0, active(x1)) 460.36/164.23 U52(mark(x0)) 460.36/164.23 U52(active(x0)) 460.36/164.23 U61(mark(x0)) 460.36/164.23 U61(active(x0)) 460.36/164.23 U71(mark(x0)) 460.36/164.23 U71(active(x0)) 460.36/164.23 U81(mark(x0), x1, x2) 460.36/164.23 U81(x0, mark(x1), x2) 460.36/164.23 U81(x0, x1, mark(x2)) 460.36/164.23 U81(active(x0), x1, x2) 460.36/164.23 U81(x0, active(x1), x2) 460.36/164.23 U81(x0, x1, active(x2)) 460.36/164.23 U82(mark(x0), x1, x2) 460.36/164.23 U82(x0, mark(x1), x2) 460.36/164.23 U82(x0, x1, mark(x2)) 460.36/164.23 U82(active(x0), x1, x2) 460.36/164.23 U82(x0, active(x1), x2) 460.36/164.23 U82(x0, x1, active(x2)) 460.36/164.23 U83(mark(x0), x1, x2) 460.36/164.23 U83(x0, mark(x1), x2) 460.36/164.23 U83(x0, x1, mark(x2)) 460.36/164.23 U83(active(x0), x1, x2) 460.36/164.23 U83(x0, active(x1), x2) 460.36/164.23 U83(x0, x1, active(x2)) 460.36/164.23 U84(mark(x0), x1, x2) 460.36/164.23 U84(x0, mark(x1), x2) 460.36/164.23 U84(x0, x1, mark(x2)) 460.36/164.23 U84(active(x0), x1, x2) 460.36/164.23 U84(x0, active(x1), x2) 460.36/164.23 U84(x0, x1, active(x2)) 460.36/164.23 U85(mark(x0), x1) 460.36/164.23 U85(x0, mark(x1)) 460.36/164.23 U85(active(x0), x1) 460.36/164.23 U85(x0, active(x1)) 460.36/164.23 U86(mark(x0)) 460.36/164.23 U86(active(x0)) 460.36/164.23 U91(mark(x0), x1, x2) 460.36/164.23 U91(x0, mark(x1), x2) 460.36/164.23 U91(x0, x1, mark(x2)) 460.36/164.23 U91(active(x0), x1, x2) 460.36/164.23 U91(x0, active(x1), x2) 460.36/164.23 U91(x0, x1, active(x2)) 460.36/164.23 U92(mark(x0), x1, x2) 460.36/164.23 U92(x0, mark(x1), x2) 460.36/164.23 U92(x0, x1, mark(x2)) 460.36/164.23 U92(active(x0), x1, x2) 460.36/164.23 U92(x0, active(x1), x2) 460.36/164.23 U92(x0, x1, active(x2)) 460.36/164.23 U93(mark(x0), x1, x2) 460.36/164.23 U93(x0, mark(x1), x2) 460.36/164.23 U93(x0, x1, mark(x2)) 460.36/164.23 U93(active(x0), x1, x2) 460.36/164.23 U93(x0, active(x1), x2) 460.36/164.23 U93(x0, x1, active(x2)) 460.36/164.23 U94(mark(x0), x1) 460.36/164.23 U94(x0, mark(x1)) 460.36/164.23 U94(active(x0), x1) 460.36/164.23 U94(x0, active(x1)) 460.36/164.23 s(mark(x0)) 460.36/164.23 s(active(x0)) 460.36/164.23 length(mark(x0)) 460.36/164.23 length(active(x0)) 460.36/164.23 460.36/164.23 We have to consider all minimal (P,Q,R)-chains. 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (289) DependencyGraphProof (EQUIVALENT) 460.36/164.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (290) 460.36/164.23 Obligation: 460.36/164.23 Q DP problem: 460.36/164.23 The TRS P consists of the following rules: 460.36/164.23 460.36/164.23 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.23 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.23 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.23 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.23 MARK(U13(X)) -> MARK(X) 460.36/164.23 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.23 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.23 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.23 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.23 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.23 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.23 MARK(U23(X)) -> MARK(X) 460.36/164.23 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.23 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.23 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.23 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.23 MARK(U46(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.23 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.23 MARK(U52(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.23 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.23 MARK(U61(X)) -> MARK(X) 460.36/164.23 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.23 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.23 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.23 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.23 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.23 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.23 MARK(U86(X)) -> MARK(X) 460.36/164.23 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.23 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U71(X)) -> MARK(X) 460.36/164.23 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.23 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.23 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.23 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.23 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.23 MARK(s(X)) -> MARK(X) 460.36/164.23 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.23 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.23 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.23 460.36/164.23 The TRS R consists of the following rules: 460.36/164.23 460.36/164.23 mark(zeros) -> active(zeros) 460.36/164.23 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.23 active(zeros) -> mark(cons(0, zeros)) 460.36/164.23 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.23 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.23 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.23 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.23 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.23 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.23 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.23 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.23 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.23 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.23 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.23 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.23 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.23 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.23 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.23 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.23 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.23 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.23 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.23 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.23 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.23 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.23 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.23 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.23 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.23 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.23 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.23 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.23 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.23 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.23 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.23 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.23 mark(s(X)) -> active(s(mark(X))) 460.36/164.23 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.23 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.23 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.23 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.23 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.23 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.23 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.23 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.23 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.23 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.23 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.23 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.23 mark(0) -> active(0) 460.36/164.23 mark(tt) -> active(tt) 460.36/164.23 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.23 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.23 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.23 mark(isNat(X)) -> active(isNat(X)) 460.36/164.23 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.23 mark(length(X)) -> active(length(mark(X))) 460.36/164.23 mark(nil) -> active(nil) 460.36/164.23 length(active(X)) -> length(X) 460.36/164.23 length(mark(X)) -> length(X) 460.36/164.23 active(U13(tt)) -> mark(tt) 460.36/164.23 active(U23(tt)) -> mark(tt) 460.36/164.23 active(U33(tt)) -> mark(tt) 460.36/164.23 active(U46(tt)) -> mark(tt) 460.36/164.23 active(U52(tt)) -> mark(tt) 460.36/164.23 active(U61(tt)) -> mark(tt) 460.36/164.23 active(U71(tt)) -> mark(tt) 460.36/164.23 active(U86(tt)) -> mark(tt) 460.36/164.23 active(isNat(0)) -> mark(tt) 460.36/164.23 active(isNatIList(zeros)) -> mark(tt) 460.36/164.23 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.23 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.23 active(isNatKind(0)) -> mark(tt) 460.36/164.23 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.23 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.23 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.23 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.23 U13(active(X)) -> U13(X) 460.36/164.23 U13(mark(X)) -> U13(X) 460.36/164.23 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.23 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.23 U23(active(X)) -> U23(X) 460.36/164.23 U23(mark(X)) -> U23(X) 460.36/164.23 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.23 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.23 U33(active(X)) -> U33(X) 460.36/164.23 U33(mark(X)) -> U33(X) 460.36/164.23 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.23 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.23 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.23 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.23 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.23 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.23 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.23 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.23 U46(active(X)) -> U46(X) 460.36/164.23 U46(mark(X)) -> U46(X) 460.36/164.23 U52(active(X)) -> U52(X) 460.36/164.23 U52(mark(X)) -> U52(X) 460.36/164.23 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.23 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.23 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.23 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.23 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.23 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.23 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.23 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.23 U86(active(X)) -> U86(X) 460.36/164.23 U86(mark(X)) -> U86(X) 460.36/164.23 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.23 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.23 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.23 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.23 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.23 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.23 s(active(X)) -> s(X) 460.36/164.23 s(mark(X)) -> s(X) 460.36/164.23 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.23 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.23 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.23 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.23 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.23 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.23 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.23 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.23 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.23 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.23 U61(active(X)) -> U61(X) 460.36/164.23 U61(mark(X)) -> U61(X) 460.36/164.23 U71(active(X)) -> U71(X) 460.36/164.23 U71(mark(X)) -> U71(X) 460.36/164.23 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.23 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.23 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.23 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.23 460.36/164.23 The set Q consists of the following terms: 460.36/164.23 460.36/164.23 active(zeros) 460.36/164.23 active(U11(tt, x0)) 460.36/164.23 active(U12(tt, x0)) 460.36/164.23 active(U13(tt)) 460.36/164.23 active(U21(tt, x0)) 460.36/164.23 active(U22(tt, x0)) 460.36/164.23 active(U23(tt)) 460.36/164.23 active(U31(tt, x0)) 460.36/164.23 active(U32(tt, x0)) 460.36/164.23 active(U33(tt)) 460.36/164.23 active(U41(tt, x0, x1)) 460.36/164.23 active(U42(tt, x0, x1)) 460.36/164.23 active(U43(tt, x0, x1)) 460.36/164.23 active(U44(tt, x0, x1)) 460.36/164.23 active(U45(tt, x0)) 460.36/164.23 active(U46(tt)) 460.36/164.23 active(U51(tt, x0)) 460.36/164.23 active(U52(tt)) 460.36/164.23 active(U61(tt)) 460.36/164.23 active(U71(tt)) 460.36/164.23 active(U81(tt, x0, x1)) 460.36/164.23 active(U82(tt, x0, x1)) 460.36/164.23 active(U83(tt, x0, x1)) 460.36/164.23 active(U84(tt, x0, x1)) 460.36/164.23 active(U85(tt, x0)) 460.36/164.23 active(U86(tt)) 460.36/164.23 active(U91(tt, x0, x1)) 460.36/164.23 active(U92(tt, x0, x1)) 460.36/164.23 active(U93(tt, x0, x1)) 460.36/164.23 active(U94(tt, x0)) 460.36/164.23 active(isNat(0)) 460.36/164.23 active(isNat(length(x0))) 460.36/164.23 active(isNat(s(x0))) 460.36/164.23 active(isNatIList(x0)) 460.36/164.23 active(isNatIListKind(nil)) 460.36/164.23 active(isNatIListKind(zeros)) 460.36/164.23 active(isNatIListKind(cons(x0, x1))) 460.36/164.23 active(isNatKind(0)) 460.36/164.23 active(isNatKind(length(x0))) 460.36/164.23 active(isNatKind(s(x0))) 460.36/164.23 active(isNatList(nil)) 460.36/164.23 active(isNatList(cons(x0, x1))) 460.36/164.23 active(length(nil)) 460.36/164.23 active(length(cons(x0, x1))) 460.36/164.23 mark(zeros) 460.36/164.23 mark(cons(x0, x1)) 460.36/164.23 mark(0) 460.36/164.23 mark(U11(x0, x1)) 460.36/164.23 mark(tt) 460.36/164.23 mark(U12(x0, x1)) 460.36/164.23 mark(isNatIListKind(x0)) 460.36/164.23 mark(U13(x0)) 460.36/164.23 mark(isNatList(x0)) 460.36/164.23 mark(U21(x0, x1)) 460.36/164.23 mark(U22(x0, x1)) 460.36/164.23 mark(isNatKind(x0)) 460.36/164.23 mark(U23(x0)) 460.36/164.23 mark(isNat(x0)) 460.36/164.23 mark(U31(x0, x1)) 460.36/164.23 mark(U32(x0, x1)) 460.36/164.23 mark(U33(x0)) 460.36/164.23 mark(U41(x0, x1, x2)) 460.36/164.23 mark(U42(x0, x1, x2)) 460.36/164.23 mark(U43(x0, x1, x2)) 460.36/164.23 mark(U44(x0, x1, x2)) 460.36/164.23 mark(U45(x0, x1)) 460.36/164.23 mark(U46(x0)) 460.36/164.23 mark(isNatIList(x0)) 460.36/164.23 mark(U51(x0, x1)) 460.36/164.23 mark(U52(x0)) 460.36/164.23 mark(U61(x0)) 460.36/164.23 mark(U71(x0)) 460.36/164.23 mark(U81(x0, x1, x2)) 460.36/164.23 mark(U82(x0, x1, x2)) 460.36/164.23 mark(U83(x0, x1, x2)) 460.36/164.23 mark(U84(x0, x1, x2)) 460.36/164.23 mark(U85(x0, x1)) 460.36/164.23 mark(U86(x0)) 460.36/164.23 mark(U91(x0, x1, x2)) 460.36/164.23 mark(U92(x0, x1, x2)) 460.36/164.23 mark(U93(x0, x1, x2)) 460.36/164.23 mark(U94(x0, x1)) 460.36/164.23 mark(s(x0)) 460.36/164.23 mark(length(x0)) 460.36/164.23 mark(nil) 460.36/164.23 cons(mark(x0), x1) 460.36/164.23 cons(x0, mark(x1)) 460.36/164.23 cons(active(x0), x1) 460.36/164.23 cons(x0, active(x1)) 460.36/164.23 U11(mark(x0), x1) 460.36/164.23 U11(x0, mark(x1)) 460.36/164.23 U11(active(x0), x1) 460.36/164.23 U11(x0, active(x1)) 460.36/164.23 U12(mark(x0), x1) 460.36/164.23 U12(x0, mark(x1)) 460.36/164.23 U12(active(x0), x1) 460.36/164.23 U12(x0, active(x1)) 460.36/164.23 isNatIListKind(mark(x0)) 460.36/164.23 isNatIListKind(active(x0)) 460.36/164.23 U13(mark(x0)) 460.36/164.23 U13(active(x0)) 460.36/164.23 isNatList(mark(x0)) 460.36/164.23 isNatList(active(x0)) 460.36/164.23 U21(mark(x0), x1) 460.36/164.23 U21(x0, mark(x1)) 460.36/164.23 U21(active(x0), x1) 460.36/164.23 U21(x0, active(x1)) 460.36/164.23 U22(mark(x0), x1) 460.36/164.23 U22(x0, mark(x1)) 460.36/164.23 U22(active(x0), x1) 460.36/164.23 U22(x0, active(x1)) 460.36/164.23 isNatKind(mark(x0)) 460.36/164.23 isNatKind(active(x0)) 460.36/164.23 U23(mark(x0)) 460.36/164.23 U23(active(x0)) 460.36/164.23 isNat(mark(x0)) 460.36/164.23 isNat(active(x0)) 460.36/164.23 U31(mark(x0), x1) 460.36/164.23 U31(x0, mark(x1)) 460.36/164.23 U31(active(x0), x1) 460.36/164.23 U31(x0, active(x1)) 460.36/164.23 U32(mark(x0), x1) 460.36/164.23 U32(x0, mark(x1)) 460.36/164.23 U32(active(x0), x1) 460.36/164.23 U32(x0, active(x1)) 460.36/164.23 U33(mark(x0)) 460.36/164.23 U33(active(x0)) 460.36/164.23 U41(mark(x0), x1, x2) 460.36/164.23 U41(x0, mark(x1), x2) 460.36/164.23 U41(x0, x1, mark(x2)) 460.36/164.23 U41(active(x0), x1, x2) 460.36/164.23 U41(x0, active(x1), x2) 460.36/164.23 U41(x0, x1, active(x2)) 460.36/164.23 U42(mark(x0), x1, x2) 460.36/164.23 U42(x0, mark(x1), x2) 460.36/164.23 U42(x0, x1, mark(x2)) 460.36/164.23 U42(active(x0), x1, x2) 460.36/164.23 U42(x0, active(x1), x2) 460.36/164.23 U42(x0, x1, active(x2)) 460.36/164.23 U43(mark(x0), x1, x2) 460.36/164.23 U43(x0, mark(x1), x2) 460.36/164.23 U43(x0, x1, mark(x2)) 460.36/164.23 U43(active(x0), x1, x2) 460.36/164.23 U43(x0, active(x1), x2) 460.36/164.23 U43(x0, x1, active(x2)) 460.36/164.23 U44(mark(x0), x1, x2) 460.36/164.23 U44(x0, mark(x1), x2) 460.36/164.23 U44(x0, x1, mark(x2)) 460.36/164.23 U44(active(x0), x1, x2) 460.36/164.23 U44(x0, active(x1), x2) 460.36/164.23 U44(x0, x1, active(x2)) 460.36/164.23 U45(mark(x0), x1) 460.36/164.23 U45(x0, mark(x1)) 460.36/164.23 U45(active(x0), x1) 460.36/164.23 U45(x0, active(x1)) 460.36/164.23 U46(mark(x0)) 460.36/164.23 U46(active(x0)) 460.36/164.23 isNatIList(mark(x0)) 460.36/164.23 isNatIList(active(x0)) 460.36/164.23 U51(mark(x0), x1) 460.36/164.23 U51(x0, mark(x1)) 460.36/164.23 U51(active(x0), x1) 460.36/164.23 U51(x0, active(x1)) 460.36/164.23 U52(mark(x0)) 460.36/164.23 U52(active(x0)) 460.36/164.23 U61(mark(x0)) 460.36/164.23 U61(active(x0)) 460.36/164.23 U71(mark(x0)) 460.36/164.23 U71(active(x0)) 460.36/164.23 U81(mark(x0), x1, x2) 460.36/164.23 U81(x0, mark(x1), x2) 460.36/164.23 U81(x0, x1, mark(x2)) 460.36/164.23 U81(active(x0), x1, x2) 460.36/164.23 U81(x0, active(x1), x2) 460.36/164.23 U81(x0, x1, active(x2)) 460.36/164.23 U82(mark(x0), x1, x2) 460.36/164.23 U82(x0, mark(x1), x2) 460.36/164.23 U82(x0, x1, mark(x2)) 460.36/164.23 U82(active(x0), x1, x2) 460.36/164.23 U82(x0, active(x1), x2) 460.36/164.23 U82(x0, x1, active(x2)) 460.36/164.23 U83(mark(x0), x1, x2) 460.36/164.23 U83(x0, mark(x1), x2) 460.36/164.23 U83(x0, x1, mark(x2)) 460.36/164.23 U83(active(x0), x1, x2) 460.36/164.23 U83(x0, active(x1), x2) 460.36/164.23 U83(x0, x1, active(x2)) 460.36/164.23 U84(mark(x0), x1, x2) 460.36/164.23 U84(x0, mark(x1), x2) 460.36/164.23 U84(x0, x1, mark(x2)) 460.36/164.23 U84(active(x0), x1, x2) 460.36/164.23 U84(x0, active(x1), x2) 460.36/164.23 U84(x0, x1, active(x2)) 460.36/164.23 U85(mark(x0), x1) 460.36/164.23 U85(x0, mark(x1)) 460.36/164.23 U85(active(x0), x1) 460.36/164.23 U85(x0, active(x1)) 460.36/164.23 U86(mark(x0)) 460.36/164.23 U86(active(x0)) 460.36/164.23 U91(mark(x0), x1, x2) 460.36/164.23 U91(x0, mark(x1), x2) 460.36/164.23 U91(x0, x1, mark(x2)) 460.36/164.23 U91(active(x0), x1, x2) 460.36/164.23 U91(x0, active(x1), x2) 460.36/164.23 U91(x0, x1, active(x2)) 460.36/164.23 U92(mark(x0), x1, x2) 460.36/164.23 U92(x0, mark(x1), x2) 460.36/164.23 U92(x0, x1, mark(x2)) 460.36/164.23 U92(active(x0), x1, x2) 460.36/164.23 U92(x0, active(x1), x2) 460.36/164.23 U92(x0, x1, active(x2)) 460.36/164.23 U93(mark(x0), x1, x2) 460.36/164.23 U93(x0, mark(x1), x2) 460.36/164.23 U93(x0, x1, mark(x2)) 460.36/164.23 U93(active(x0), x1, x2) 460.36/164.23 U93(x0, active(x1), x2) 460.36/164.23 U93(x0, x1, active(x2)) 460.36/164.23 U94(mark(x0), x1) 460.36/164.23 U94(x0, mark(x1)) 460.36/164.23 U94(active(x0), x1) 460.36/164.23 U94(x0, active(x1)) 460.36/164.23 s(mark(x0)) 460.36/164.23 s(active(x0)) 460.36/164.23 length(mark(x0)) 460.36/164.23 length(active(x0)) 460.36/164.23 460.36/164.23 We have to consider all minimal (P,Q,R)-chains. 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (291) QDPOrderProof (EQUIVALENT) 460.36/164.23 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.23 460.36/164.23 460.36/164.23 The following pairs can be oriented strictly and are deleted. 460.36/164.23 460.36/164.23 ACTIVE(U11(tt, V1)) -> MARK(U12(isNatIListKind(V1), V1)) 460.36/164.23 MARK(U11(X1, X2)) -> MARK(X1) 460.36/164.23 ACTIVE(isNat(length(V1))) -> MARK(U11(isNatIListKind(V1), V1)) 460.36/164.23 The remaining pairs can at least be oriented weakly. 460.36/164.23 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.23 460.36/164.23 POL( ACTIVE_1(x_1) ) = x_1 + 2 460.36/164.23 POL( U11_2(x_1, x_2) ) = x_1 + x_2 + 1 460.36/164.23 POL( U12_2(x_1, x_2) ) = x_1 + x_2 460.36/164.23 POL( U21_2(x_1, x_2) ) = x_1 + 2x_2 460.36/164.23 POL( U22_2(x_1, x_2) ) = x_1 + 2x_2 460.36/164.23 POL( U41_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 1 460.36/164.23 POL( U42_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 1 460.36/164.23 POL( U43_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 1 460.36/164.23 POL( U44_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 1 460.36/164.23 POL( U45_2(x_1, x_2) ) = 2x_2 + 1 460.36/164.23 POL( U51_2(x_1, x_2) ) = x_1 460.36/164.23 POL( U81_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 460.36/164.23 POL( U82_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 460.36/164.23 POL( U83_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 460.36/164.23 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 460.36/164.23 POL( U85_2(x_1, x_2) ) = x_1 + x_2 460.36/164.23 POL( U91_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.23 POL( U92_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.23 POL( U93_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.23 POL( U94_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.23 POL( length_1(x_1) ) = 2x_1 + 2 460.36/164.23 POL( mark_1(x_1) ) = x_1 460.36/164.23 POL( zeros ) = 0 460.36/164.23 POL( active_1(x_1) ) = x_1 460.36/164.23 POL( cons_2(x_1, x_2) ) = 2x_1 + x_2 460.36/164.23 POL( 0 ) = 0 460.36/164.23 POL( tt ) = 0 460.36/164.23 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.23 POL( U13_1(x_1) ) = x_1 460.36/164.23 POL( isNatList_1(x_1) ) = x_1 460.36/164.23 POL( isNatKind_1(x_1) ) = 0 460.36/164.23 POL( U23_1(x_1) ) = x_1 460.36/164.23 POL( isNat_1(x_1) ) = 2x_1 460.36/164.23 POL( U31_2(x_1, x_2) ) = x_1 + 2x_2 + 1 460.36/164.23 POL( U32_2(x_1, x_2) ) = x_2 + 1 460.36/164.23 POL( U33_1(x_1) ) = x_1 460.36/164.23 POL( U46_1(x_1) ) = x_1 460.36/164.23 POL( isNatIList_1(x_1) ) = 2x_1 + 1 460.36/164.23 POL( U52_1(x_1) ) = 2x_1 460.36/164.23 POL( U86_1(x_1) ) = x_1 460.36/164.23 POL( s_1(x_1) ) = x_1 460.36/164.23 POL( U61_1(x_1) ) = 2x_1 460.36/164.23 POL( U71_1(x_1) ) = x_1 460.36/164.23 POL( nil ) = 2 460.36/164.23 POL( MARK_1(x_1) ) = x_1 + 2 460.36/164.23 460.36/164.23 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.23 460.36/164.23 mark(zeros) -> active(zeros) 460.36/164.23 active(zeros) -> mark(cons(0, zeros)) 460.36/164.23 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.23 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.23 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.23 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.23 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.23 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.23 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.23 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.23 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.23 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.23 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.23 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.23 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.23 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.23 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.23 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.23 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.23 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.23 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.23 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.23 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.23 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.23 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.23 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.23 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.23 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.23 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.23 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.23 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.23 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.23 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.23 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.23 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.23 mark(s(X)) -> active(s(mark(X))) 460.36/164.23 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.23 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.23 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.23 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.23 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.23 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.23 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.23 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.23 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.23 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.23 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.23 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.23 mark(0) -> active(0) 460.36/164.23 mark(tt) -> active(tt) 460.36/164.23 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.23 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.23 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.23 mark(isNat(X)) -> active(isNat(X)) 460.36/164.23 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.23 mark(length(X)) -> active(length(mark(X))) 460.36/164.23 mark(nil) -> active(nil) 460.36/164.23 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.23 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.23 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.23 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.23 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.23 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.23 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.23 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.23 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.23 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.23 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.23 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.23 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.23 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.23 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.23 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.23 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.23 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.23 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.23 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.23 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.23 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.23 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.23 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.23 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.23 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.23 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.23 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.23 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.23 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.23 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.23 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.23 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.23 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.23 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.23 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.23 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.23 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.23 length(mark(X)) -> length(X) 460.36/164.23 length(active(X)) -> length(X) 460.36/164.23 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.23 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.23 active(U13(tt)) -> mark(tt) 460.36/164.23 active(U23(tt)) -> mark(tt) 460.36/164.23 active(U33(tt)) -> mark(tt) 460.36/164.23 active(U46(tt)) -> mark(tt) 460.36/164.23 active(U52(tt)) -> mark(tt) 460.36/164.23 active(U61(tt)) -> mark(tt) 460.36/164.23 active(U71(tt)) -> mark(tt) 460.36/164.23 active(U86(tt)) -> mark(tt) 460.36/164.23 active(isNat(0)) -> mark(tt) 460.36/164.23 active(isNatIList(zeros)) -> mark(tt) 460.36/164.23 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.23 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.23 active(isNatKind(0)) -> mark(tt) 460.36/164.23 U13(mark(X)) -> U13(X) 460.36/164.23 U13(active(X)) -> U13(X) 460.36/164.23 U23(mark(X)) -> U23(X) 460.36/164.23 U23(active(X)) -> U23(X) 460.36/164.23 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.23 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.23 U33(mark(X)) -> U33(X) 460.36/164.23 U33(active(X)) -> U33(X) 460.36/164.23 U46(mark(X)) -> U46(X) 460.36/164.23 U46(active(X)) -> U46(X) 460.36/164.23 U52(mark(X)) -> U52(X) 460.36/164.23 U52(active(X)) -> U52(X) 460.36/164.23 U86(mark(X)) -> U86(X) 460.36/164.23 U86(active(X)) -> U86(X) 460.36/164.23 s(mark(X)) -> s(X) 460.36/164.23 s(active(X)) -> s(X) 460.36/164.23 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.23 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.23 U61(mark(X)) -> U61(X) 460.36/164.23 U61(active(X)) -> U61(X) 460.36/164.23 U71(mark(X)) -> U71(X) 460.36/164.23 U71(active(X)) -> U71(X) 460.36/164.23 460.36/164.23 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (292) 460.36/164.23 Obligation: 460.36/164.23 Q DP problem: 460.36/164.23 The TRS P consists of the following rules: 460.36/164.23 460.36/164.23 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.23 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.23 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.23 MARK(U13(X)) -> MARK(X) 460.36/164.23 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.23 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.23 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.23 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.23 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.23 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.23 MARK(U23(X)) -> MARK(X) 460.36/164.23 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.23 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.23 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.23 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.23 MARK(U46(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.23 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.23 MARK(U52(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.23 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.23 MARK(U61(X)) -> MARK(X) 460.36/164.23 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.23 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.23 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.23 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.23 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.23 MARK(U86(X)) -> MARK(X) 460.36/164.23 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.23 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U71(X)) -> MARK(X) 460.36/164.23 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.23 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.23 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.23 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.23 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.23 MARK(s(X)) -> MARK(X) 460.36/164.23 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.23 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.23 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.23 460.36/164.23 The TRS R consists of the following rules: 460.36/164.23 460.36/164.23 mark(zeros) -> active(zeros) 460.36/164.23 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.23 active(zeros) -> mark(cons(0, zeros)) 460.36/164.23 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.23 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.23 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.23 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.23 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.23 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.23 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.23 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.23 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.23 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.23 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.23 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.23 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.23 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.23 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.23 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.23 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.23 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.23 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.23 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.23 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.23 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.23 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.23 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.23 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.23 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.23 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.23 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.23 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.23 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.23 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.23 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.23 mark(s(X)) -> active(s(mark(X))) 460.36/164.23 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.23 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.23 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.23 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.23 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.23 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.23 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.23 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.23 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.23 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.23 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.23 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.23 mark(0) -> active(0) 460.36/164.23 mark(tt) -> active(tt) 460.36/164.23 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.23 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.23 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.23 mark(isNat(X)) -> active(isNat(X)) 460.36/164.23 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.23 mark(length(X)) -> active(length(mark(X))) 460.36/164.23 mark(nil) -> active(nil) 460.36/164.23 length(active(X)) -> length(X) 460.36/164.23 length(mark(X)) -> length(X) 460.36/164.23 active(U13(tt)) -> mark(tt) 460.36/164.23 active(U23(tt)) -> mark(tt) 460.36/164.23 active(U33(tt)) -> mark(tt) 460.36/164.23 active(U46(tt)) -> mark(tt) 460.36/164.23 active(U52(tt)) -> mark(tt) 460.36/164.23 active(U61(tt)) -> mark(tt) 460.36/164.23 active(U71(tt)) -> mark(tt) 460.36/164.23 active(U86(tt)) -> mark(tt) 460.36/164.23 active(isNat(0)) -> mark(tt) 460.36/164.23 active(isNatIList(zeros)) -> mark(tt) 460.36/164.23 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.23 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.23 active(isNatKind(0)) -> mark(tt) 460.36/164.23 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.23 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.23 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.23 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.23 U13(active(X)) -> U13(X) 460.36/164.23 U13(mark(X)) -> U13(X) 460.36/164.23 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.23 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.23 U23(active(X)) -> U23(X) 460.36/164.23 U23(mark(X)) -> U23(X) 460.36/164.23 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.23 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.23 U33(active(X)) -> U33(X) 460.36/164.23 U33(mark(X)) -> U33(X) 460.36/164.23 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.23 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.23 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.23 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.23 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.23 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.23 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.23 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.23 U46(active(X)) -> U46(X) 460.36/164.23 U46(mark(X)) -> U46(X) 460.36/164.23 U52(active(X)) -> U52(X) 460.36/164.23 U52(mark(X)) -> U52(X) 460.36/164.23 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.23 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.23 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.23 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.23 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.23 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.23 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.23 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.23 U86(active(X)) -> U86(X) 460.36/164.23 U86(mark(X)) -> U86(X) 460.36/164.23 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.23 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.23 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.23 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.23 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.23 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.23 s(active(X)) -> s(X) 460.36/164.23 s(mark(X)) -> s(X) 460.36/164.23 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.23 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.23 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.23 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.23 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.23 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.23 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.23 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.23 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.23 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.23 U61(active(X)) -> U61(X) 460.36/164.23 U61(mark(X)) -> U61(X) 460.36/164.23 U71(active(X)) -> U71(X) 460.36/164.23 U71(mark(X)) -> U71(X) 460.36/164.23 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.23 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.23 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.23 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.23 460.36/164.23 The set Q consists of the following terms: 460.36/164.23 460.36/164.23 active(zeros) 460.36/164.23 active(U11(tt, x0)) 460.36/164.23 active(U12(tt, x0)) 460.36/164.23 active(U13(tt)) 460.36/164.23 active(U21(tt, x0)) 460.36/164.23 active(U22(tt, x0)) 460.36/164.23 active(U23(tt)) 460.36/164.23 active(U31(tt, x0)) 460.36/164.23 active(U32(tt, x0)) 460.36/164.23 active(U33(tt)) 460.36/164.23 active(U41(tt, x0, x1)) 460.36/164.23 active(U42(tt, x0, x1)) 460.36/164.23 active(U43(tt, x0, x1)) 460.36/164.23 active(U44(tt, x0, x1)) 460.36/164.23 active(U45(tt, x0)) 460.36/164.23 active(U46(tt)) 460.36/164.23 active(U51(tt, x0)) 460.36/164.23 active(U52(tt)) 460.36/164.23 active(U61(tt)) 460.36/164.23 active(U71(tt)) 460.36/164.23 active(U81(tt, x0, x1)) 460.36/164.23 active(U82(tt, x0, x1)) 460.36/164.23 active(U83(tt, x0, x1)) 460.36/164.23 active(U84(tt, x0, x1)) 460.36/164.23 active(U85(tt, x0)) 460.36/164.23 active(U86(tt)) 460.36/164.23 active(U91(tt, x0, x1)) 460.36/164.23 active(U92(tt, x0, x1)) 460.36/164.23 active(U93(tt, x0, x1)) 460.36/164.23 active(U94(tt, x0)) 460.36/164.23 active(isNat(0)) 460.36/164.23 active(isNat(length(x0))) 460.36/164.23 active(isNat(s(x0))) 460.36/164.23 active(isNatIList(x0)) 460.36/164.23 active(isNatIListKind(nil)) 460.36/164.23 active(isNatIListKind(zeros)) 460.36/164.23 active(isNatIListKind(cons(x0, x1))) 460.36/164.23 active(isNatKind(0)) 460.36/164.23 active(isNatKind(length(x0))) 460.36/164.23 active(isNatKind(s(x0))) 460.36/164.23 active(isNatList(nil)) 460.36/164.23 active(isNatList(cons(x0, x1))) 460.36/164.23 active(length(nil)) 460.36/164.23 active(length(cons(x0, x1))) 460.36/164.23 mark(zeros) 460.36/164.23 mark(cons(x0, x1)) 460.36/164.23 mark(0) 460.36/164.23 mark(U11(x0, x1)) 460.36/164.23 mark(tt) 460.36/164.23 mark(U12(x0, x1)) 460.36/164.23 mark(isNatIListKind(x0)) 460.36/164.23 mark(U13(x0)) 460.36/164.23 mark(isNatList(x0)) 460.36/164.23 mark(U21(x0, x1)) 460.36/164.23 mark(U22(x0, x1)) 460.36/164.23 mark(isNatKind(x0)) 460.36/164.23 mark(U23(x0)) 460.36/164.23 mark(isNat(x0)) 460.36/164.23 mark(U31(x0, x1)) 460.36/164.23 mark(U32(x0, x1)) 460.36/164.23 mark(U33(x0)) 460.36/164.23 mark(U41(x0, x1, x2)) 460.36/164.23 mark(U42(x0, x1, x2)) 460.36/164.23 mark(U43(x0, x1, x2)) 460.36/164.23 mark(U44(x0, x1, x2)) 460.36/164.23 mark(U45(x0, x1)) 460.36/164.23 mark(U46(x0)) 460.36/164.23 mark(isNatIList(x0)) 460.36/164.23 mark(U51(x0, x1)) 460.36/164.23 mark(U52(x0)) 460.36/164.23 mark(U61(x0)) 460.36/164.23 mark(U71(x0)) 460.36/164.23 mark(U81(x0, x1, x2)) 460.36/164.23 mark(U82(x0, x1, x2)) 460.36/164.23 mark(U83(x0, x1, x2)) 460.36/164.23 mark(U84(x0, x1, x2)) 460.36/164.23 mark(U85(x0, x1)) 460.36/164.23 mark(U86(x0)) 460.36/164.23 mark(U91(x0, x1, x2)) 460.36/164.23 mark(U92(x0, x1, x2)) 460.36/164.23 mark(U93(x0, x1, x2)) 460.36/164.23 mark(U94(x0, x1)) 460.36/164.23 mark(s(x0)) 460.36/164.23 mark(length(x0)) 460.36/164.23 mark(nil) 460.36/164.23 cons(mark(x0), x1) 460.36/164.23 cons(x0, mark(x1)) 460.36/164.23 cons(active(x0), x1) 460.36/164.23 cons(x0, active(x1)) 460.36/164.23 U11(mark(x0), x1) 460.36/164.23 U11(x0, mark(x1)) 460.36/164.23 U11(active(x0), x1) 460.36/164.23 U11(x0, active(x1)) 460.36/164.23 U12(mark(x0), x1) 460.36/164.23 U12(x0, mark(x1)) 460.36/164.23 U12(active(x0), x1) 460.36/164.23 U12(x0, active(x1)) 460.36/164.23 isNatIListKind(mark(x0)) 460.36/164.23 isNatIListKind(active(x0)) 460.36/164.23 U13(mark(x0)) 460.36/164.23 U13(active(x0)) 460.36/164.23 isNatList(mark(x0)) 460.36/164.23 isNatList(active(x0)) 460.36/164.23 U21(mark(x0), x1) 460.36/164.23 U21(x0, mark(x1)) 460.36/164.23 U21(active(x0), x1) 460.36/164.23 U21(x0, active(x1)) 460.36/164.23 U22(mark(x0), x1) 460.36/164.23 U22(x0, mark(x1)) 460.36/164.23 U22(active(x0), x1) 460.36/164.23 U22(x0, active(x1)) 460.36/164.23 isNatKind(mark(x0)) 460.36/164.23 isNatKind(active(x0)) 460.36/164.23 U23(mark(x0)) 460.36/164.23 U23(active(x0)) 460.36/164.23 isNat(mark(x0)) 460.36/164.23 isNat(active(x0)) 460.36/164.23 U31(mark(x0), x1) 460.36/164.23 U31(x0, mark(x1)) 460.36/164.23 U31(active(x0), x1) 460.36/164.23 U31(x0, active(x1)) 460.36/164.23 U32(mark(x0), x1) 460.36/164.23 U32(x0, mark(x1)) 460.36/164.23 U32(active(x0), x1) 460.36/164.23 U32(x0, active(x1)) 460.36/164.23 U33(mark(x0)) 460.36/164.23 U33(active(x0)) 460.36/164.23 U41(mark(x0), x1, x2) 460.36/164.23 U41(x0, mark(x1), x2) 460.36/164.23 U41(x0, x1, mark(x2)) 460.36/164.23 U41(active(x0), x1, x2) 460.36/164.23 U41(x0, active(x1), x2) 460.36/164.23 U41(x0, x1, active(x2)) 460.36/164.23 U42(mark(x0), x1, x2) 460.36/164.23 U42(x0, mark(x1), x2) 460.36/164.23 U42(x0, x1, mark(x2)) 460.36/164.23 U42(active(x0), x1, x2) 460.36/164.23 U42(x0, active(x1), x2) 460.36/164.23 U42(x0, x1, active(x2)) 460.36/164.23 U43(mark(x0), x1, x2) 460.36/164.23 U43(x0, mark(x1), x2) 460.36/164.23 U43(x0, x1, mark(x2)) 460.36/164.23 U43(active(x0), x1, x2) 460.36/164.23 U43(x0, active(x1), x2) 460.36/164.23 U43(x0, x1, active(x2)) 460.36/164.23 U44(mark(x0), x1, x2) 460.36/164.23 U44(x0, mark(x1), x2) 460.36/164.23 U44(x0, x1, mark(x2)) 460.36/164.23 U44(active(x0), x1, x2) 460.36/164.23 U44(x0, active(x1), x2) 460.36/164.23 U44(x0, x1, active(x2)) 460.36/164.23 U45(mark(x0), x1) 460.36/164.23 U45(x0, mark(x1)) 460.36/164.23 U45(active(x0), x1) 460.36/164.23 U45(x0, active(x1)) 460.36/164.23 U46(mark(x0)) 460.36/164.23 U46(active(x0)) 460.36/164.23 isNatIList(mark(x0)) 460.36/164.23 isNatIList(active(x0)) 460.36/164.23 U51(mark(x0), x1) 460.36/164.23 U51(x0, mark(x1)) 460.36/164.23 U51(active(x0), x1) 460.36/164.23 U51(x0, active(x1)) 460.36/164.23 U52(mark(x0)) 460.36/164.23 U52(active(x0)) 460.36/164.23 U61(mark(x0)) 460.36/164.23 U61(active(x0)) 460.36/164.23 U71(mark(x0)) 460.36/164.23 U71(active(x0)) 460.36/164.23 U81(mark(x0), x1, x2) 460.36/164.23 U81(x0, mark(x1), x2) 460.36/164.23 U81(x0, x1, mark(x2)) 460.36/164.23 U81(active(x0), x1, x2) 460.36/164.23 U81(x0, active(x1), x2) 460.36/164.23 U81(x0, x1, active(x2)) 460.36/164.23 U82(mark(x0), x1, x2) 460.36/164.23 U82(x0, mark(x1), x2) 460.36/164.23 U82(x0, x1, mark(x2)) 460.36/164.23 U82(active(x0), x1, x2) 460.36/164.23 U82(x0, active(x1), x2) 460.36/164.23 U82(x0, x1, active(x2)) 460.36/164.23 U83(mark(x0), x1, x2) 460.36/164.23 U83(x0, mark(x1), x2) 460.36/164.23 U83(x0, x1, mark(x2)) 460.36/164.23 U83(active(x0), x1, x2) 460.36/164.23 U83(x0, active(x1), x2) 460.36/164.23 U83(x0, x1, active(x2)) 460.36/164.23 U84(mark(x0), x1, x2) 460.36/164.23 U84(x0, mark(x1), x2) 460.36/164.23 U84(x0, x1, mark(x2)) 460.36/164.23 U84(active(x0), x1, x2) 460.36/164.23 U84(x0, active(x1), x2) 460.36/164.23 U84(x0, x1, active(x2)) 460.36/164.23 U85(mark(x0), x1) 460.36/164.23 U85(x0, mark(x1)) 460.36/164.23 U85(active(x0), x1) 460.36/164.23 U85(x0, active(x1)) 460.36/164.23 U86(mark(x0)) 460.36/164.23 U86(active(x0)) 460.36/164.23 U91(mark(x0), x1, x2) 460.36/164.23 U91(x0, mark(x1), x2) 460.36/164.23 U91(x0, x1, mark(x2)) 460.36/164.23 U91(active(x0), x1, x2) 460.36/164.23 U91(x0, active(x1), x2) 460.36/164.23 U91(x0, x1, active(x2)) 460.36/164.23 U92(mark(x0), x1, x2) 460.36/164.23 U92(x0, mark(x1), x2) 460.36/164.23 U92(x0, x1, mark(x2)) 460.36/164.23 U92(active(x0), x1, x2) 460.36/164.23 U92(x0, active(x1), x2) 460.36/164.23 U92(x0, x1, active(x2)) 460.36/164.23 U93(mark(x0), x1, x2) 460.36/164.23 U93(x0, mark(x1), x2) 460.36/164.23 U93(x0, x1, mark(x2)) 460.36/164.23 U93(active(x0), x1, x2) 460.36/164.23 U93(x0, active(x1), x2) 460.36/164.23 U93(x0, x1, active(x2)) 460.36/164.23 U94(mark(x0), x1) 460.36/164.23 U94(x0, mark(x1)) 460.36/164.23 U94(active(x0), x1) 460.36/164.23 U94(x0, active(x1)) 460.36/164.23 s(mark(x0)) 460.36/164.23 s(active(x0)) 460.36/164.23 length(mark(x0)) 460.36/164.23 length(active(x0)) 460.36/164.23 460.36/164.23 We have to consider all minimal (P,Q,R)-chains. 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (293) QDPOrderProof (EQUIVALENT) 460.36/164.23 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.23 460.36/164.23 460.36/164.23 The following pairs can be oriented strictly and are deleted. 460.36/164.23 460.36/164.23 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 460.36/164.23 The remaining pairs can at least be oriented weakly. 460.36/164.23 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.23 460.36/164.23 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.23 POL( U11_2(x_1, x_2) ) = 1 460.36/164.23 POL( U12_2(x_1, x_2) ) = 2 460.36/164.23 POL( U21_2(x_1, x_2) ) = 2 460.36/164.23 POL( U22_2(x_1, x_2) ) = 2 460.36/164.23 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U43_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U45_2(x_1, x_2) ) = 2 460.36/164.23 POL( U51_2(x_1, x_2) ) = 2 460.36/164.23 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U85_2(x_1, x_2) ) = 2 460.36/164.23 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.23 POL( U94_2(x_1, x_2) ) = 2 460.36/164.23 POL( length_1(x_1) ) = 2 460.36/164.23 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.23 POL( zeros ) = 0 460.36/164.23 POL( active_1(x_1) ) = max{0, -2} 460.36/164.23 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.23 POL( 0 ) = 0 460.36/164.23 POL( tt ) = 0 460.36/164.23 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.23 POL( U13_1(x_1) ) = max{0, x_1 - 2} 460.36/164.23 POL( isNatList_1(x_1) ) = 2 460.36/164.23 POL( isNatKind_1(x_1) ) = 2 460.36/164.23 POL( U23_1(x_1) ) = max{0, -2} 460.36/164.23 POL( isNat_1(x_1) ) = 2 460.36/164.23 POL( U31_2(x_1, x_2) ) = 2 460.36/164.23 POL( U32_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.23 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.23 POL( U46_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.23 POL( isNatIList_1(x_1) ) = 2 460.36/164.23 POL( U52_1(x_1) ) = 2 460.36/164.23 POL( U86_1(x_1) ) = max{0, x_1 - 2} 460.36/164.23 POL( s_1(x_1) ) = max{0, x_1 - 2} 460.36/164.23 POL( U61_1(x_1) ) = 2 460.36/164.23 POL( U71_1(x_1) ) = max{0, x_1 - 2} 460.36/164.23 POL( nil ) = 0 460.36/164.23 POL( MARK_1(x_1) ) = 2 460.36/164.23 460.36/164.23 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.23 460.36/164.23 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.23 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.23 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.23 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.23 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.23 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.23 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.23 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.23 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.23 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.23 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.23 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.23 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.23 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.23 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.23 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.23 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.23 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.23 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.23 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.23 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.23 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.23 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.23 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.23 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.23 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.23 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.23 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.23 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.23 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.23 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.23 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.23 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.23 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.23 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.23 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.23 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.23 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.23 length(mark(X)) -> length(X) 460.36/164.23 length(active(X)) -> length(X) 460.36/164.23 460.36/164.23 460.36/164.23 ---------------------------------------- 460.36/164.23 460.36/164.23 (294) 460.36/164.23 Obligation: 460.36/164.23 Q DP problem: 460.36/164.23 The TRS P consists of the following rules: 460.36/164.23 460.36/164.23 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.23 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.23 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.23 MARK(U13(X)) -> MARK(X) 460.36/164.23 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.23 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.23 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.23 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.23 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.23 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.23 MARK(U23(X)) -> MARK(X) 460.36/164.23 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.23 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.23 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.23 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.23 MARK(U46(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.23 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.23 MARK(U52(X)) -> MARK(X) 460.36/164.23 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.23 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.23 MARK(U61(X)) -> MARK(X) 460.36/164.23 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.23 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.23 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.23 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.23 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.23 MARK(U86(X)) -> MARK(X) 460.36/164.23 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.23 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.23 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U71(X)) -> MARK(X) 460.36/164.23 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.23 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.23 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.23 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.23 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.23 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.23 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.23 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.23 MARK(s(X)) -> MARK(X) 460.36/164.23 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.23 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.23 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.23 460.36/164.23 The TRS R consists of the following rules: 460.36/164.23 460.36/164.23 mark(zeros) -> active(zeros) 460.36/164.23 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.23 active(zeros) -> mark(cons(0, zeros)) 460.36/164.23 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.23 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.23 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.23 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.23 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.23 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.23 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.23 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.23 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.23 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.23 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.23 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.23 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.23 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.23 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.23 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.23 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.23 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.23 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.23 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.23 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.23 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.23 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.23 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.23 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.23 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.23 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.23 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.23 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.23 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.23 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.23 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.23 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.23 mark(s(X)) -> active(s(mark(X))) 460.36/164.23 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.23 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.23 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.23 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.23 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.23 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.23 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.23 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.23 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.23 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.23 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.23 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.23 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.23 mark(0) -> active(0) 460.36/164.23 mark(tt) -> active(tt) 460.36/164.23 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.23 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.23 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.23 mark(isNat(X)) -> active(isNat(X)) 460.36/164.23 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.23 mark(length(X)) -> active(length(mark(X))) 460.36/164.23 mark(nil) -> active(nil) 460.36/164.23 length(active(X)) -> length(X) 460.36/164.23 length(mark(X)) -> length(X) 460.36/164.23 active(U13(tt)) -> mark(tt) 460.36/164.23 active(U23(tt)) -> mark(tt) 460.36/164.23 active(U33(tt)) -> mark(tt) 460.36/164.23 active(U46(tt)) -> mark(tt) 460.36/164.23 active(U52(tt)) -> mark(tt) 460.36/164.23 active(U61(tt)) -> mark(tt) 460.36/164.23 active(U71(tt)) -> mark(tt) 460.36/164.23 active(U86(tt)) -> mark(tt) 460.36/164.23 active(isNat(0)) -> mark(tt) 460.36/164.23 active(isNatIList(zeros)) -> mark(tt) 460.36/164.23 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.23 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.23 active(isNatKind(0)) -> mark(tt) 460.36/164.23 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.23 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.23 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.23 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.23 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.23 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.23 U13(active(X)) -> U13(X) 460.36/164.23 U13(mark(X)) -> U13(X) 460.36/164.23 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.23 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.23 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.23 U23(active(X)) -> U23(X) 460.36/164.23 U23(mark(X)) -> U23(X) 460.36/164.23 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.23 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.23 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.23 U33(active(X)) -> U33(X) 460.36/164.23 U33(mark(X)) -> U33(X) 460.36/164.23 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.23 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.23 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.23 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.23 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.23 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.23 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.23 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.23 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.23 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.23 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.23 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.23 U46(active(X)) -> U46(X) 460.36/164.23 U46(mark(X)) -> U46(X) 460.36/164.23 U52(active(X)) -> U52(X) 460.36/164.23 U52(mark(X)) -> U52(X) 460.36/164.23 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.23 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.23 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.23 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.23 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.23 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.23 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.23 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.23 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.23 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.23 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.23 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.23 U86(active(X)) -> U86(X) 460.36/164.23 U86(mark(X)) -> U86(X) 460.36/164.23 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.23 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.23 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.23 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.23 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.23 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.23 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.23 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.23 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.23 s(active(X)) -> s(X) 460.36/164.23 s(mark(X)) -> s(X) 460.36/164.23 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.23 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.23 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.23 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.23 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.23 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.23 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.23 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.23 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.23 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.23 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.23 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.23 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.23 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.23 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.23 U61(active(X)) -> U61(X) 460.36/164.23 U61(mark(X)) -> U61(X) 460.36/164.23 U71(active(X)) -> U71(X) 460.36/164.23 U71(mark(X)) -> U71(X) 460.36/164.23 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.23 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.23 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.23 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.23 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.23 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.23 460.36/164.23 The set Q consists of the following terms: 460.36/164.23 460.36/164.23 active(zeros) 460.36/164.23 active(U11(tt, x0)) 460.36/164.23 active(U12(tt, x0)) 460.36/164.23 active(U13(tt)) 460.36/164.23 active(U21(tt, x0)) 460.36/164.23 active(U22(tt, x0)) 460.36/164.23 active(U23(tt)) 460.36/164.23 active(U31(tt, x0)) 460.36/164.23 active(U32(tt, x0)) 460.36/164.23 active(U33(tt)) 460.36/164.23 active(U41(tt, x0, x1)) 460.36/164.23 active(U42(tt, x0, x1)) 460.36/164.23 active(U43(tt, x0, x1)) 460.36/164.23 active(U44(tt, x0, x1)) 460.36/164.23 active(U45(tt, x0)) 460.36/164.23 active(U46(tt)) 460.36/164.23 active(U51(tt, x0)) 460.36/164.23 active(U52(tt)) 460.36/164.23 active(U61(tt)) 460.36/164.23 active(U71(tt)) 460.36/164.23 active(U81(tt, x0, x1)) 460.36/164.23 active(U82(tt, x0, x1)) 460.36/164.23 active(U83(tt, x0, x1)) 460.36/164.23 active(U84(tt, x0, x1)) 460.36/164.23 active(U85(tt, x0)) 460.36/164.23 active(U86(tt)) 460.36/164.23 active(U91(tt, x0, x1)) 460.36/164.23 active(U92(tt, x0, x1)) 460.36/164.23 active(U93(tt, x0, x1)) 460.36/164.23 active(U94(tt, x0)) 460.36/164.23 active(isNat(0)) 460.36/164.23 active(isNat(length(x0))) 460.36/164.23 active(isNat(s(x0))) 460.36/164.23 active(isNatIList(x0)) 460.36/164.23 active(isNatIListKind(nil)) 460.36/164.23 active(isNatIListKind(zeros)) 460.36/164.23 active(isNatIListKind(cons(x0, x1))) 460.36/164.23 active(isNatKind(0)) 460.36/164.23 active(isNatKind(length(x0))) 460.36/164.24 active(isNatKind(s(x0))) 460.36/164.24 active(isNatList(nil)) 460.36/164.24 active(isNatList(cons(x0, x1))) 460.36/164.24 active(length(nil)) 460.36/164.24 active(length(cons(x0, x1))) 460.36/164.24 mark(zeros) 460.36/164.24 mark(cons(x0, x1)) 460.36/164.24 mark(0) 460.36/164.24 mark(U11(x0, x1)) 460.36/164.24 mark(tt) 460.36/164.24 mark(U12(x0, x1)) 460.36/164.24 mark(isNatIListKind(x0)) 460.36/164.24 mark(U13(x0)) 460.36/164.24 mark(isNatList(x0)) 460.36/164.24 mark(U21(x0, x1)) 460.36/164.24 mark(U22(x0, x1)) 460.36/164.24 mark(isNatKind(x0)) 460.36/164.24 mark(U23(x0)) 460.36/164.24 mark(isNat(x0)) 460.36/164.24 mark(U31(x0, x1)) 460.36/164.24 mark(U32(x0, x1)) 460.36/164.24 mark(U33(x0)) 460.36/164.24 mark(U41(x0, x1, x2)) 460.36/164.24 mark(U42(x0, x1, x2)) 460.36/164.24 mark(U43(x0, x1, x2)) 460.36/164.24 mark(U44(x0, x1, x2)) 460.36/164.24 mark(U45(x0, x1)) 460.36/164.24 mark(U46(x0)) 460.36/164.24 mark(isNatIList(x0)) 460.36/164.24 mark(U51(x0, x1)) 460.36/164.24 mark(U52(x0)) 460.36/164.24 mark(U61(x0)) 460.36/164.24 mark(U71(x0)) 460.36/164.24 mark(U81(x0, x1, x2)) 460.36/164.24 mark(U82(x0, x1, x2)) 460.36/164.24 mark(U83(x0, x1, x2)) 460.36/164.24 mark(U84(x0, x1, x2)) 460.36/164.24 mark(U85(x0, x1)) 460.36/164.24 mark(U86(x0)) 460.36/164.24 mark(U91(x0, x1, x2)) 460.36/164.24 mark(U92(x0, x1, x2)) 460.36/164.24 mark(U93(x0, x1, x2)) 460.36/164.24 mark(U94(x0, x1)) 460.36/164.24 mark(s(x0)) 460.36/164.24 mark(length(x0)) 460.36/164.24 mark(nil) 460.36/164.24 cons(mark(x0), x1) 460.36/164.24 cons(x0, mark(x1)) 460.36/164.24 cons(active(x0), x1) 460.36/164.24 cons(x0, active(x1)) 460.36/164.24 U11(mark(x0), x1) 460.36/164.24 U11(x0, mark(x1)) 460.36/164.24 U11(active(x0), x1) 460.36/164.24 U11(x0, active(x1)) 460.36/164.24 U12(mark(x0), x1) 460.36/164.24 U12(x0, mark(x1)) 460.36/164.24 U12(active(x0), x1) 460.36/164.24 U12(x0, active(x1)) 460.36/164.24 isNatIListKind(mark(x0)) 460.36/164.24 isNatIListKind(active(x0)) 460.36/164.24 U13(mark(x0)) 460.36/164.24 U13(active(x0)) 460.36/164.24 isNatList(mark(x0)) 460.36/164.24 isNatList(active(x0)) 460.36/164.24 U21(mark(x0), x1) 460.36/164.24 U21(x0, mark(x1)) 460.36/164.24 U21(active(x0), x1) 460.36/164.24 U21(x0, active(x1)) 460.36/164.24 U22(mark(x0), x1) 460.36/164.24 U22(x0, mark(x1)) 460.36/164.24 U22(active(x0), x1) 460.36/164.24 U22(x0, active(x1)) 460.36/164.24 isNatKind(mark(x0)) 460.36/164.24 isNatKind(active(x0)) 460.36/164.24 U23(mark(x0)) 460.36/164.24 U23(active(x0)) 460.36/164.24 isNat(mark(x0)) 460.36/164.24 isNat(active(x0)) 460.36/164.24 U31(mark(x0), x1) 460.36/164.24 U31(x0, mark(x1)) 460.36/164.24 U31(active(x0), x1) 460.36/164.24 U31(x0, active(x1)) 460.36/164.24 U32(mark(x0), x1) 460.36/164.24 U32(x0, mark(x1)) 460.36/164.24 U32(active(x0), x1) 460.36/164.24 U32(x0, active(x1)) 460.36/164.24 U33(mark(x0)) 460.36/164.24 U33(active(x0)) 460.36/164.24 U41(mark(x0), x1, x2) 460.36/164.24 U41(x0, mark(x1), x2) 460.36/164.24 U41(x0, x1, mark(x2)) 460.36/164.24 U41(active(x0), x1, x2) 460.36/164.24 U41(x0, active(x1), x2) 460.36/164.24 U41(x0, x1, active(x2)) 460.36/164.24 U42(mark(x0), x1, x2) 460.36/164.24 U42(x0, mark(x1), x2) 460.36/164.24 U42(x0, x1, mark(x2)) 460.36/164.24 U42(active(x0), x1, x2) 460.36/164.24 U42(x0, active(x1), x2) 460.36/164.24 U42(x0, x1, active(x2)) 460.36/164.24 U43(mark(x0), x1, x2) 460.36/164.24 U43(x0, mark(x1), x2) 460.36/164.24 U43(x0, x1, mark(x2)) 460.36/164.24 U43(active(x0), x1, x2) 460.36/164.24 U43(x0, active(x1), x2) 460.36/164.24 U43(x0, x1, active(x2)) 460.36/164.24 U44(mark(x0), x1, x2) 460.36/164.24 U44(x0, mark(x1), x2) 460.36/164.24 U44(x0, x1, mark(x2)) 460.36/164.24 U44(active(x0), x1, x2) 460.36/164.24 U44(x0, active(x1), x2) 460.36/164.24 U44(x0, x1, active(x2)) 460.36/164.24 U45(mark(x0), x1) 460.36/164.24 U45(x0, mark(x1)) 460.36/164.24 U45(active(x0), x1) 460.36/164.24 U45(x0, active(x1)) 460.36/164.24 U46(mark(x0)) 460.36/164.24 U46(active(x0)) 460.36/164.24 isNatIList(mark(x0)) 460.36/164.24 isNatIList(active(x0)) 460.36/164.24 U51(mark(x0), x1) 460.36/164.24 U51(x0, mark(x1)) 460.36/164.24 U51(active(x0), x1) 460.36/164.24 U51(x0, active(x1)) 460.36/164.24 U52(mark(x0)) 460.36/164.24 U52(active(x0)) 460.36/164.24 U61(mark(x0)) 460.36/164.24 U61(active(x0)) 460.36/164.24 U71(mark(x0)) 460.36/164.24 U71(active(x0)) 460.36/164.24 U81(mark(x0), x1, x2) 460.36/164.24 U81(x0, mark(x1), x2) 460.36/164.24 U81(x0, x1, mark(x2)) 460.36/164.24 U81(active(x0), x1, x2) 460.36/164.24 U81(x0, active(x1), x2) 460.36/164.24 U81(x0, x1, active(x2)) 460.36/164.24 U82(mark(x0), x1, x2) 460.36/164.24 U82(x0, mark(x1), x2) 460.36/164.24 U82(x0, x1, mark(x2)) 460.36/164.24 U82(active(x0), x1, x2) 460.36/164.24 U82(x0, active(x1), x2) 460.36/164.24 U82(x0, x1, active(x2)) 460.36/164.24 U83(mark(x0), x1, x2) 460.36/164.24 U83(x0, mark(x1), x2) 460.36/164.24 U83(x0, x1, mark(x2)) 460.36/164.24 U83(active(x0), x1, x2) 460.36/164.24 U83(x0, active(x1), x2) 460.36/164.24 U83(x0, x1, active(x2)) 460.36/164.24 U84(mark(x0), x1, x2) 460.36/164.24 U84(x0, mark(x1), x2) 460.36/164.24 U84(x0, x1, mark(x2)) 460.36/164.24 U84(active(x0), x1, x2) 460.36/164.24 U84(x0, active(x1), x2) 460.36/164.24 U84(x0, x1, active(x2)) 460.36/164.24 U85(mark(x0), x1) 460.36/164.24 U85(x0, mark(x1)) 460.36/164.24 U85(active(x0), x1) 460.36/164.24 U85(x0, active(x1)) 460.36/164.24 U86(mark(x0)) 460.36/164.24 U86(active(x0)) 460.36/164.24 U91(mark(x0), x1, x2) 460.36/164.24 U91(x0, mark(x1), x2) 460.36/164.24 U91(x0, x1, mark(x2)) 460.36/164.24 U91(active(x0), x1, x2) 460.36/164.24 U91(x0, active(x1), x2) 460.36/164.24 U91(x0, x1, active(x2)) 460.36/164.24 U92(mark(x0), x1, x2) 460.36/164.24 U92(x0, mark(x1), x2) 460.36/164.24 U92(x0, x1, mark(x2)) 460.36/164.24 U92(active(x0), x1, x2) 460.36/164.24 U92(x0, active(x1), x2) 460.36/164.24 U92(x0, x1, active(x2)) 460.36/164.24 U93(mark(x0), x1, x2) 460.36/164.24 U93(x0, mark(x1), x2) 460.36/164.24 U93(x0, x1, mark(x2)) 460.36/164.24 U93(active(x0), x1, x2) 460.36/164.24 U93(x0, active(x1), x2) 460.36/164.24 U93(x0, x1, active(x2)) 460.36/164.24 U94(mark(x0), x1) 460.36/164.24 U94(x0, mark(x1)) 460.36/164.24 U94(active(x0), x1) 460.36/164.24 U94(x0, active(x1)) 460.36/164.24 s(mark(x0)) 460.36/164.24 s(active(x0)) 460.36/164.24 length(mark(x0)) 460.36/164.24 length(active(x0)) 460.36/164.24 460.36/164.24 We have to consider all minimal (P,Q,R)-chains. 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (295) QDPOrderProof (EQUIVALENT) 460.36/164.24 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.24 460.36/164.24 460.36/164.24 The following pairs can be oriented strictly and are deleted. 460.36/164.24 460.36/164.24 MARK(U12(X1, X2)) -> ACTIVE(U12(mark(X1), X2)) 460.36/164.24 MARK(U12(X1, X2)) -> MARK(X1) 460.36/164.24 The remaining pairs can at least be oriented weakly. 460.36/164.24 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.24 460.36/164.24 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.24 POL( U12_2(x_1, x_2) ) = x_1 + x_2 + 2 460.36/164.24 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U81_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U82_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U85_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U92_3(x_1, ..., x_3) ) = 0 460.36/164.24 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( length_1(x_1) ) = max{0, -2} 460.36/164.24 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.24 POL( zeros ) = 0 460.36/164.24 POL( active_1(x_1) ) = max{0, -2} 460.36/164.24 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.24 POL( 0 ) = 0 460.36/164.24 POL( U11_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.24 POL( tt ) = 0 460.36/164.24 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.24 POL( U13_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( isNatList_1(x_1) ) = 0 460.36/164.24 POL( isNatKind_1(x_1) ) = 0 460.36/164.24 POL( U23_1(x_1) ) = x_1 + 1 460.36/164.24 POL( isNat_1(x_1) ) = 0 460.36/164.24 POL( U31_2(x_1, x_2) ) = x_1 + x_2 + 2 460.36/164.24 POL( U32_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.24 POL( U33_1(x_1) ) = 2 460.36/164.24 POL( U46_1(x_1) ) = x_1 + 1 460.36/164.24 POL( isNatIList_1(x_1) ) = 0 460.36/164.24 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.24 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.24 POL( s_1(x_1) ) = x_1 + 1 460.36/164.24 POL( U61_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.24 POL( nil ) = 0 460.36/164.24 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.24 460.36/164.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.24 none 460.36/164.24 460.36/164.24 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (296) 460.36/164.24 Obligation: 460.36/164.24 Q DP problem: 460.36/164.24 The TRS P consists of the following rules: 460.36/164.24 460.36/164.24 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.24 MARK(U13(X)) -> MARK(X) 460.36/164.24 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.24 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.24 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.24 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.24 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.24 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.24 MARK(U23(X)) -> MARK(X) 460.36/164.24 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.24 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.24 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.24 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.24 MARK(U46(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.24 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.24 MARK(U52(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.24 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.24 MARK(U61(X)) -> MARK(X) 460.36/164.24 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.24 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.24 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.24 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.24 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.24 MARK(U86(X)) -> MARK(X) 460.36/164.24 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.24 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U71(X)) -> MARK(X) 460.36/164.24 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.24 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.24 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.24 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.24 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.24 MARK(s(X)) -> MARK(X) 460.36/164.24 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.24 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.24 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.24 460.36/164.24 The TRS R consists of the following rules: 460.36/164.24 460.36/164.24 mark(zeros) -> active(zeros) 460.36/164.24 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.24 active(zeros) -> mark(cons(0, zeros)) 460.36/164.24 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.24 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.24 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.24 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.24 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.24 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.24 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.24 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.24 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.24 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.24 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.24 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.24 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.24 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.24 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.24 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.24 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.24 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.24 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.24 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.24 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.24 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.24 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.24 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.24 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.24 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.24 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.24 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.24 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.24 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.24 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.24 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.24 mark(s(X)) -> active(s(mark(X))) 460.36/164.24 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.24 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.24 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.24 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.24 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.24 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.24 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.24 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.24 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.24 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.24 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.24 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.24 mark(0) -> active(0) 460.36/164.24 mark(tt) -> active(tt) 460.36/164.24 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.24 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.24 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.24 mark(isNat(X)) -> active(isNat(X)) 460.36/164.24 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.24 mark(length(X)) -> active(length(mark(X))) 460.36/164.24 mark(nil) -> active(nil) 460.36/164.24 length(active(X)) -> length(X) 460.36/164.24 length(mark(X)) -> length(X) 460.36/164.24 active(U13(tt)) -> mark(tt) 460.36/164.24 active(U23(tt)) -> mark(tt) 460.36/164.24 active(U33(tt)) -> mark(tt) 460.36/164.24 active(U46(tt)) -> mark(tt) 460.36/164.24 active(U52(tt)) -> mark(tt) 460.36/164.24 active(U61(tt)) -> mark(tt) 460.36/164.24 active(U71(tt)) -> mark(tt) 460.36/164.24 active(U86(tt)) -> mark(tt) 460.36/164.24 active(isNat(0)) -> mark(tt) 460.36/164.24 active(isNatIList(zeros)) -> mark(tt) 460.36/164.24 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.24 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.24 active(isNatKind(0)) -> mark(tt) 460.36/164.24 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.24 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.24 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.24 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.24 U13(active(X)) -> U13(X) 460.36/164.24 U13(mark(X)) -> U13(X) 460.36/164.24 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.24 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.24 U23(active(X)) -> U23(X) 460.36/164.24 U23(mark(X)) -> U23(X) 460.36/164.24 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.24 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.24 U33(active(X)) -> U33(X) 460.36/164.24 U33(mark(X)) -> U33(X) 460.36/164.24 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.24 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.24 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.24 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.24 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.24 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.24 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.24 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.24 U46(active(X)) -> U46(X) 460.36/164.24 U46(mark(X)) -> U46(X) 460.36/164.24 U52(active(X)) -> U52(X) 460.36/164.24 U52(mark(X)) -> U52(X) 460.36/164.24 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.24 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.24 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.24 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.24 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.24 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.24 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.24 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.24 U86(active(X)) -> U86(X) 460.36/164.24 U86(mark(X)) -> U86(X) 460.36/164.24 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.24 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.24 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.24 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.24 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.24 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.24 s(active(X)) -> s(X) 460.36/164.24 s(mark(X)) -> s(X) 460.36/164.24 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.24 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.24 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.24 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.24 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.24 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.24 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.24 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.24 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.24 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.24 U61(active(X)) -> U61(X) 460.36/164.24 U61(mark(X)) -> U61(X) 460.36/164.24 U71(active(X)) -> U71(X) 460.36/164.24 U71(mark(X)) -> U71(X) 460.36/164.24 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.24 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.24 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.24 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.24 460.36/164.24 The set Q consists of the following terms: 460.36/164.24 460.36/164.24 active(zeros) 460.36/164.24 active(U11(tt, x0)) 460.36/164.24 active(U12(tt, x0)) 460.36/164.24 active(U13(tt)) 460.36/164.24 active(U21(tt, x0)) 460.36/164.24 active(U22(tt, x0)) 460.36/164.24 active(U23(tt)) 460.36/164.24 active(U31(tt, x0)) 460.36/164.24 active(U32(tt, x0)) 460.36/164.24 active(U33(tt)) 460.36/164.24 active(U41(tt, x0, x1)) 460.36/164.24 active(U42(tt, x0, x1)) 460.36/164.24 active(U43(tt, x0, x1)) 460.36/164.24 active(U44(tt, x0, x1)) 460.36/164.24 active(U45(tt, x0)) 460.36/164.24 active(U46(tt)) 460.36/164.24 active(U51(tt, x0)) 460.36/164.24 active(U52(tt)) 460.36/164.24 active(U61(tt)) 460.36/164.24 active(U71(tt)) 460.36/164.24 active(U81(tt, x0, x1)) 460.36/164.24 active(U82(tt, x0, x1)) 460.36/164.24 active(U83(tt, x0, x1)) 460.36/164.24 active(U84(tt, x0, x1)) 460.36/164.24 active(U85(tt, x0)) 460.36/164.24 active(U86(tt)) 460.36/164.24 active(U91(tt, x0, x1)) 460.36/164.24 active(U92(tt, x0, x1)) 460.36/164.24 active(U93(tt, x0, x1)) 460.36/164.24 active(U94(tt, x0)) 460.36/164.24 active(isNat(0)) 460.36/164.24 active(isNat(length(x0))) 460.36/164.24 active(isNat(s(x0))) 460.36/164.24 active(isNatIList(x0)) 460.36/164.24 active(isNatIListKind(nil)) 460.36/164.24 active(isNatIListKind(zeros)) 460.36/164.24 active(isNatIListKind(cons(x0, x1))) 460.36/164.24 active(isNatKind(0)) 460.36/164.24 active(isNatKind(length(x0))) 460.36/164.24 active(isNatKind(s(x0))) 460.36/164.24 active(isNatList(nil)) 460.36/164.24 active(isNatList(cons(x0, x1))) 460.36/164.24 active(length(nil)) 460.36/164.24 active(length(cons(x0, x1))) 460.36/164.24 mark(zeros) 460.36/164.24 mark(cons(x0, x1)) 460.36/164.24 mark(0) 460.36/164.24 mark(U11(x0, x1)) 460.36/164.24 mark(tt) 460.36/164.24 mark(U12(x0, x1)) 460.36/164.24 mark(isNatIListKind(x0)) 460.36/164.24 mark(U13(x0)) 460.36/164.24 mark(isNatList(x0)) 460.36/164.24 mark(U21(x0, x1)) 460.36/164.24 mark(U22(x0, x1)) 460.36/164.24 mark(isNatKind(x0)) 460.36/164.24 mark(U23(x0)) 460.36/164.24 mark(isNat(x0)) 460.36/164.24 mark(U31(x0, x1)) 460.36/164.24 mark(U32(x0, x1)) 460.36/164.24 mark(U33(x0)) 460.36/164.24 mark(U41(x0, x1, x2)) 460.36/164.24 mark(U42(x0, x1, x2)) 460.36/164.24 mark(U43(x0, x1, x2)) 460.36/164.24 mark(U44(x0, x1, x2)) 460.36/164.24 mark(U45(x0, x1)) 460.36/164.24 mark(U46(x0)) 460.36/164.24 mark(isNatIList(x0)) 460.36/164.24 mark(U51(x0, x1)) 460.36/164.24 mark(U52(x0)) 460.36/164.24 mark(U61(x0)) 460.36/164.24 mark(U71(x0)) 460.36/164.24 mark(U81(x0, x1, x2)) 460.36/164.24 mark(U82(x0, x1, x2)) 460.36/164.24 mark(U83(x0, x1, x2)) 460.36/164.24 mark(U84(x0, x1, x2)) 460.36/164.24 mark(U85(x0, x1)) 460.36/164.24 mark(U86(x0)) 460.36/164.24 mark(U91(x0, x1, x2)) 460.36/164.24 mark(U92(x0, x1, x2)) 460.36/164.24 mark(U93(x0, x1, x2)) 460.36/164.24 mark(U94(x0, x1)) 460.36/164.24 mark(s(x0)) 460.36/164.24 mark(length(x0)) 460.36/164.24 mark(nil) 460.36/164.24 cons(mark(x0), x1) 460.36/164.24 cons(x0, mark(x1)) 460.36/164.24 cons(active(x0), x1) 460.36/164.24 cons(x0, active(x1)) 460.36/164.24 U11(mark(x0), x1) 460.36/164.24 U11(x0, mark(x1)) 460.36/164.24 U11(active(x0), x1) 460.36/164.24 U11(x0, active(x1)) 460.36/164.24 U12(mark(x0), x1) 460.36/164.24 U12(x0, mark(x1)) 460.36/164.24 U12(active(x0), x1) 460.36/164.24 U12(x0, active(x1)) 460.36/164.24 isNatIListKind(mark(x0)) 460.36/164.24 isNatIListKind(active(x0)) 460.36/164.24 U13(mark(x0)) 460.36/164.24 U13(active(x0)) 460.36/164.24 isNatList(mark(x0)) 460.36/164.24 isNatList(active(x0)) 460.36/164.24 U21(mark(x0), x1) 460.36/164.24 U21(x0, mark(x1)) 460.36/164.24 U21(active(x0), x1) 460.36/164.24 U21(x0, active(x1)) 460.36/164.24 U22(mark(x0), x1) 460.36/164.24 U22(x0, mark(x1)) 460.36/164.24 U22(active(x0), x1) 460.36/164.24 U22(x0, active(x1)) 460.36/164.24 isNatKind(mark(x0)) 460.36/164.24 isNatKind(active(x0)) 460.36/164.24 U23(mark(x0)) 460.36/164.24 U23(active(x0)) 460.36/164.24 isNat(mark(x0)) 460.36/164.24 isNat(active(x0)) 460.36/164.24 U31(mark(x0), x1) 460.36/164.24 U31(x0, mark(x1)) 460.36/164.24 U31(active(x0), x1) 460.36/164.24 U31(x0, active(x1)) 460.36/164.24 U32(mark(x0), x1) 460.36/164.24 U32(x0, mark(x1)) 460.36/164.24 U32(active(x0), x1) 460.36/164.24 U32(x0, active(x1)) 460.36/164.24 U33(mark(x0)) 460.36/164.24 U33(active(x0)) 460.36/164.24 U41(mark(x0), x1, x2) 460.36/164.24 U41(x0, mark(x1), x2) 460.36/164.24 U41(x0, x1, mark(x2)) 460.36/164.24 U41(active(x0), x1, x2) 460.36/164.24 U41(x0, active(x1), x2) 460.36/164.24 U41(x0, x1, active(x2)) 460.36/164.24 U42(mark(x0), x1, x2) 460.36/164.24 U42(x0, mark(x1), x2) 460.36/164.24 U42(x0, x1, mark(x2)) 460.36/164.24 U42(active(x0), x1, x2) 460.36/164.24 U42(x0, active(x1), x2) 460.36/164.24 U42(x0, x1, active(x2)) 460.36/164.24 U43(mark(x0), x1, x2) 460.36/164.24 U43(x0, mark(x1), x2) 460.36/164.24 U43(x0, x1, mark(x2)) 460.36/164.24 U43(active(x0), x1, x2) 460.36/164.24 U43(x0, active(x1), x2) 460.36/164.24 U43(x0, x1, active(x2)) 460.36/164.24 U44(mark(x0), x1, x2) 460.36/164.24 U44(x0, mark(x1), x2) 460.36/164.24 U44(x0, x1, mark(x2)) 460.36/164.24 U44(active(x0), x1, x2) 460.36/164.24 U44(x0, active(x1), x2) 460.36/164.24 U44(x0, x1, active(x2)) 460.36/164.24 U45(mark(x0), x1) 460.36/164.24 U45(x0, mark(x1)) 460.36/164.24 U45(active(x0), x1) 460.36/164.24 U45(x0, active(x1)) 460.36/164.24 U46(mark(x0)) 460.36/164.24 U46(active(x0)) 460.36/164.24 isNatIList(mark(x0)) 460.36/164.24 isNatIList(active(x0)) 460.36/164.24 U51(mark(x0), x1) 460.36/164.24 U51(x0, mark(x1)) 460.36/164.24 U51(active(x0), x1) 460.36/164.24 U51(x0, active(x1)) 460.36/164.24 U52(mark(x0)) 460.36/164.24 U52(active(x0)) 460.36/164.24 U61(mark(x0)) 460.36/164.24 U61(active(x0)) 460.36/164.24 U71(mark(x0)) 460.36/164.24 U71(active(x0)) 460.36/164.24 U81(mark(x0), x1, x2) 460.36/164.24 U81(x0, mark(x1), x2) 460.36/164.24 U81(x0, x1, mark(x2)) 460.36/164.24 U81(active(x0), x1, x2) 460.36/164.24 U81(x0, active(x1), x2) 460.36/164.24 U81(x0, x1, active(x2)) 460.36/164.24 U82(mark(x0), x1, x2) 460.36/164.24 U82(x0, mark(x1), x2) 460.36/164.24 U82(x0, x1, mark(x2)) 460.36/164.24 U82(active(x0), x1, x2) 460.36/164.24 U82(x0, active(x1), x2) 460.36/164.24 U82(x0, x1, active(x2)) 460.36/164.24 U83(mark(x0), x1, x2) 460.36/164.24 U83(x0, mark(x1), x2) 460.36/164.24 U83(x0, x1, mark(x2)) 460.36/164.24 U83(active(x0), x1, x2) 460.36/164.24 U83(x0, active(x1), x2) 460.36/164.24 U83(x0, x1, active(x2)) 460.36/164.24 U84(mark(x0), x1, x2) 460.36/164.24 U84(x0, mark(x1), x2) 460.36/164.24 U84(x0, x1, mark(x2)) 460.36/164.24 U84(active(x0), x1, x2) 460.36/164.24 U84(x0, active(x1), x2) 460.36/164.24 U84(x0, x1, active(x2)) 460.36/164.24 U85(mark(x0), x1) 460.36/164.24 U85(x0, mark(x1)) 460.36/164.24 U85(active(x0), x1) 460.36/164.24 U85(x0, active(x1)) 460.36/164.24 U86(mark(x0)) 460.36/164.24 U86(active(x0)) 460.36/164.24 U91(mark(x0), x1, x2) 460.36/164.24 U91(x0, mark(x1), x2) 460.36/164.24 U91(x0, x1, mark(x2)) 460.36/164.24 U91(active(x0), x1, x2) 460.36/164.24 U91(x0, active(x1), x2) 460.36/164.24 U91(x0, x1, active(x2)) 460.36/164.24 U92(mark(x0), x1, x2) 460.36/164.24 U92(x0, mark(x1), x2) 460.36/164.24 U92(x0, x1, mark(x2)) 460.36/164.24 U92(active(x0), x1, x2) 460.36/164.24 U92(x0, active(x1), x2) 460.36/164.24 U92(x0, x1, active(x2)) 460.36/164.24 U93(mark(x0), x1, x2) 460.36/164.24 U93(x0, mark(x1), x2) 460.36/164.24 U93(x0, x1, mark(x2)) 460.36/164.24 U93(active(x0), x1, x2) 460.36/164.24 U93(x0, active(x1), x2) 460.36/164.24 U93(x0, x1, active(x2)) 460.36/164.24 U94(mark(x0), x1) 460.36/164.24 U94(x0, mark(x1)) 460.36/164.24 U94(active(x0), x1) 460.36/164.24 U94(x0, active(x1)) 460.36/164.24 s(mark(x0)) 460.36/164.24 s(active(x0)) 460.36/164.24 length(mark(x0)) 460.36/164.24 length(active(x0)) 460.36/164.24 460.36/164.24 We have to consider all minimal (P,Q,R)-chains. 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (297) QDPOrderProof (EQUIVALENT) 460.36/164.24 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.24 460.36/164.24 460.36/164.24 The following pairs can be oriented strictly and are deleted. 460.36/164.24 460.36/164.24 ACTIVE(U12(tt, V1)) -> MARK(U13(isNatList(V1))) 460.36/164.24 The remaining pairs can at least be oriented weakly. 460.36/164.24 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.24 460.36/164.24 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.24 POL( U21_2(x_1, x_2) ) = 2 460.36/164.24 POL( U22_2(x_1, x_2) ) = 2 460.36/164.24 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U43_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U45_2(x_1, x_2) ) = 2 460.36/164.24 POL( U51_2(x_1, x_2) ) = 2 460.36/164.24 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U85_2(x_1, x_2) ) = 2 460.36/164.24 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.24 POL( U94_2(x_1, x_2) ) = 2 460.36/164.24 POL( length_1(x_1) ) = 2 460.36/164.24 POL( mark_1(x_1) ) = 0 460.36/164.24 POL( zeros ) = 0 460.36/164.24 POL( active_1(x_1) ) = max{0, 2x_1 - 1} 460.36/164.24 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 1} 460.36/164.24 POL( 0 ) = 2 460.36/164.24 POL( U11_2(x_1, x_2) ) = 2 460.36/164.24 POL( tt ) = 2 460.36/164.24 POL( U12_2(x_1, x_2) ) = 2x_1 460.36/164.24 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.24 POL( U13_1(x_1) ) = x_1 + 2 460.36/164.24 POL( isNatList_1(x_1) ) = 2 460.36/164.24 POL( isNatKind_1(x_1) ) = 2 460.36/164.24 POL( U23_1(x_1) ) = max{0, x_1 - 2} 460.36/164.24 POL( isNat_1(x_1) ) = 2 460.36/164.24 POL( U31_2(x_1, x_2) ) = max{0, x_1 - 1} 460.36/164.24 POL( U32_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.24 POL( U33_1(x_1) ) = 2 460.36/164.24 POL( U46_1(x_1) ) = max{0, x_1 - 2} 460.36/164.24 POL( isNatIList_1(x_1) ) = 2 460.36/164.24 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.24 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( s_1(x_1) ) = max{0, x_1 - 2} 460.36/164.24 POL( U61_1(x_1) ) = max{0, x_1 - 1} 460.36/164.24 POL( U71_1(x_1) ) = 2 460.36/164.24 POL( nil ) = 2 460.36/164.24 POL( MARK_1(x_1) ) = 2 460.36/164.24 460.36/164.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.24 460.36/164.24 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.24 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.24 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.24 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.24 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.24 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.24 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.24 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.24 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.24 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.24 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.24 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.24 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.24 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.24 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.24 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.24 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.24 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.24 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.24 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.24 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.24 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.24 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.24 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.24 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.24 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.24 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.24 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.24 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.24 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.24 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.24 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.24 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.24 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.24 length(mark(X)) -> length(X) 460.36/164.24 length(active(X)) -> length(X) 460.36/164.24 460.36/164.24 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (298) 460.36/164.24 Obligation: 460.36/164.24 Q DP problem: 460.36/164.24 The TRS P consists of the following rules: 460.36/164.24 460.36/164.24 MARK(U13(X)) -> MARK(X) 460.36/164.24 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.24 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.24 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.24 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.24 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.24 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.24 MARK(U23(X)) -> MARK(X) 460.36/164.24 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.24 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.24 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.24 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.24 MARK(U46(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.24 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.24 MARK(U52(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.24 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.24 MARK(U61(X)) -> MARK(X) 460.36/164.24 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.24 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.24 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.24 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.24 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.24 MARK(U86(X)) -> MARK(X) 460.36/164.24 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.24 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U71(X)) -> MARK(X) 460.36/164.24 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.24 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.24 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.24 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.24 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.24 MARK(s(X)) -> MARK(X) 460.36/164.24 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.24 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.24 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.24 460.36/164.24 The TRS R consists of the following rules: 460.36/164.24 460.36/164.24 mark(zeros) -> active(zeros) 460.36/164.24 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.24 active(zeros) -> mark(cons(0, zeros)) 460.36/164.24 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.24 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.24 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.24 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.24 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.24 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.24 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.24 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.24 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.24 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.24 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.24 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.24 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.24 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.24 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.24 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.24 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.24 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.24 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.24 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.24 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.24 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.24 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.24 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.24 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.24 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.24 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.24 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.24 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.24 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.24 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.24 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.24 mark(s(X)) -> active(s(mark(X))) 460.36/164.24 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.24 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.24 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.24 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.24 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.24 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.24 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.24 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.24 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.24 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.24 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.24 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.24 mark(0) -> active(0) 460.36/164.24 mark(tt) -> active(tt) 460.36/164.24 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.24 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.24 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.24 mark(isNat(X)) -> active(isNat(X)) 460.36/164.24 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.24 mark(length(X)) -> active(length(mark(X))) 460.36/164.24 mark(nil) -> active(nil) 460.36/164.24 length(active(X)) -> length(X) 460.36/164.24 length(mark(X)) -> length(X) 460.36/164.24 active(U13(tt)) -> mark(tt) 460.36/164.24 active(U23(tt)) -> mark(tt) 460.36/164.24 active(U33(tt)) -> mark(tt) 460.36/164.24 active(U46(tt)) -> mark(tt) 460.36/164.24 active(U52(tt)) -> mark(tt) 460.36/164.24 active(U61(tt)) -> mark(tt) 460.36/164.24 active(U71(tt)) -> mark(tt) 460.36/164.24 active(U86(tt)) -> mark(tt) 460.36/164.24 active(isNat(0)) -> mark(tt) 460.36/164.24 active(isNatIList(zeros)) -> mark(tt) 460.36/164.24 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.24 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.24 active(isNatKind(0)) -> mark(tt) 460.36/164.24 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.24 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.24 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.24 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.24 U13(active(X)) -> U13(X) 460.36/164.24 U13(mark(X)) -> U13(X) 460.36/164.24 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.24 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.24 U23(active(X)) -> U23(X) 460.36/164.24 U23(mark(X)) -> U23(X) 460.36/164.24 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.24 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.24 U33(active(X)) -> U33(X) 460.36/164.24 U33(mark(X)) -> U33(X) 460.36/164.24 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.24 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.24 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.24 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.24 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.24 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.24 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.24 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.24 U46(active(X)) -> U46(X) 460.36/164.24 U46(mark(X)) -> U46(X) 460.36/164.24 U52(active(X)) -> U52(X) 460.36/164.24 U52(mark(X)) -> U52(X) 460.36/164.24 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.24 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.24 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.24 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.24 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.24 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.24 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.24 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.24 U86(active(X)) -> U86(X) 460.36/164.24 U86(mark(X)) -> U86(X) 460.36/164.24 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.24 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.24 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.24 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.24 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.24 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.24 s(active(X)) -> s(X) 460.36/164.24 s(mark(X)) -> s(X) 460.36/164.24 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.24 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.24 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.24 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.24 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.24 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.24 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.24 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.24 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.24 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.24 U61(active(X)) -> U61(X) 460.36/164.24 U61(mark(X)) -> U61(X) 460.36/164.24 U71(active(X)) -> U71(X) 460.36/164.24 U71(mark(X)) -> U71(X) 460.36/164.24 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.24 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.24 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.24 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.24 460.36/164.24 The set Q consists of the following terms: 460.36/164.24 460.36/164.24 active(zeros) 460.36/164.24 active(U11(tt, x0)) 460.36/164.24 active(U12(tt, x0)) 460.36/164.24 active(U13(tt)) 460.36/164.24 active(U21(tt, x0)) 460.36/164.24 active(U22(tt, x0)) 460.36/164.24 active(U23(tt)) 460.36/164.24 active(U31(tt, x0)) 460.36/164.24 active(U32(tt, x0)) 460.36/164.24 active(U33(tt)) 460.36/164.24 active(U41(tt, x0, x1)) 460.36/164.24 active(U42(tt, x0, x1)) 460.36/164.24 active(U43(tt, x0, x1)) 460.36/164.24 active(U44(tt, x0, x1)) 460.36/164.24 active(U45(tt, x0)) 460.36/164.24 active(U46(tt)) 460.36/164.24 active(U51(tt, x0)) 460.36/164.24 active(U52(tt)) 460.36/164.24 active(U61(tt)) 460.36/164.24 active(U71(tt)) 460.36/164.24 active(U81(tt, x0, x1)) 460.36/164.24 active(U82(tt, x0, x1)) 460.36/164.24 active(U83(tt, x0, x1)) 460.36/164.24 active(U84(tt, x0, x1)) 460.36/164.24 active(U85(tt, x0)) 460.36/164.24 active(U86(tt)) 460.36/164.24 active(U91(tt, x0, x1)) 460.36/164.24 active(U92(tt, x0, x1)) 460.36/164.24 active(U93(tt, x0, x1)) 460.36/164.24 active(U94(tt, x0)) 460.36/164.24 active(isNat(0)) 460.36/164.24 active(isNat(length(x0))) 460.36/164.24 active(isNat(s(x0))) 460.36/164.24 active(isNatIList(x0)) 460.36/164.24 active(isNatIListKind(nil)) 460.36/164.24 active(isNatIListKind(zeros)) 460.36/164.24 active(isNatIListKind(cons(x0, x1))) 460.36/164.24 active(isNatKind(0)) 460.36/164.24 active(isNatKind(length(x0))) 460.36/164.24 active(isNatKind(s(x0))) 460.36/164.24 active(isNatList(nil)) 460.36/164.24 active(isNatList(cons(x0, x1))) 460.36/164.24 active(length(nil)) 460.36/164.24 active(length(cons(x0, x1))) 460.36/164.24 mark(zeros) 460.36/164.24 mark(cons(x0, x1)) 460.36/164.24 mark(0) 460.36/164.24 mark(U11(x0, x1)) 460.36/164.24 mark(tt) 460.36/164.24 mark(U12(x0, x1)) 460.36/164.24 mark(isNatIListKind(x0)) 460.36/164.24 mark(U13(x0)) 460.36/164.24 mark(isNatList(x0)) 460.36/164.24 mark(U21(x0, x1)) 460.36/164.24 mark(U22(x0, x1)) 460.36/164.24 mark(isNatKind(x0)) 460.36/164.24 mark(U23(x0)) 460.36/164.24 mark(isNat(x0)) 460.36/164.24 mark(U31(x0, x1)) 460.36/164.24 mark(U32(x0, x1)) 460.36/164.24 mark(U33(x0)) 460.36/164.24 mark(U41(x0, x1, x2)) 460.36/164.24 mark(U42(x0, x1, x2)) 460.36/164.24 mark(U43(x0, x1, x2)) 460.36/164.24 mark(U44(x0, x1, x2)) 460.36/164.24 mark(U45(x0, x1)) 460.36/164.24 mark(U46(x0)) 460.36/164.24 mark(isNatIList(x0)) 460.36/164.24 mark(U51(x0, x1)) 460.36/164.24 mark(U52(x0)) 460.36/164.24 mark(U61(x0)) 460.36/164.24 mark(U71(x0)) 460.36/164.24 mark(U81(x0, x1, x2)) 460.36/164.24 mark(U82(x0, x1, x2)) 460.36/164.24 mark(U83(x0, x1, x2)) 460.36/164.24 mark(U84(x0, x1, x2)) 460.36/164.24 mark(U85(x0, x1)) 460.36/164.24 mark(U86(x0)) 460.36/164.24 mark(U91(x0, x1, x2)) 460.36/164.24 mark(U92(x0, x1, x2)) 460.36/164.24 mark(U93(x0, x1, x2)) 460.36/164.24 mark(U94(x0, x1)) 460.36/164.24 mark(s(x0)) 460.36/164.24 mark(length(x0)) 460.36/164.24 mark(nil) 460.36/164.24 cons(mark(x0), x1) 460.36/164.24 cons(x0, mark(x1)) 460.36/164.24 cons(active(x0), x1) 460.36/164.24 cons(x0, active(x1)) 460.36/164.24 U11(mark(x0), x1) 460.36/164.24 U11(x0, mark(x1)) 460.36/164.24 U11(active(x0), x1) 460.36/164.24 U11(x0, active(x1)) 460.36/164.24 U12(mark(x0), x1) 460.36/164.24 U12(x0, mark(x1)) 460.36/164.24 U12(active(x0), x1) 460.36/164.24 U12(x0, active(x1)) 460.36/164.24 isNatIListKind(mark(x0)) 460.36/164.24 isNatIListKind(active(x0)) 460.36/164.24 U13(mark(x0)) 460.36/164.24 U13(active(x0)) 460.36/164.24 isNatList(mark(x0)) 460.36/164.24 isNatList(active(x0)) 460.36/164.24 U21(mark(x0), x1) 460.36/164.24 U21(x0, mark(x1)) 460.36/164.24 U21(active(x0), x1) 460.36/164.24 U21(x0, active(x1)) 460.36/164.24 U22(mark(x0), x1) 460.36/164.24 U22(x0, mark(x1)) 460.36/164.24 U22(active(x0), x1) 460.36/164.24 U22(x0, active(x1)) 460.36/164.24 isNatKind(mark(x0)) 460.36/164.24 isNatKind(active(x0)) 460.36/164.24 U23(mark(x0)) 460.36/164.24 U23(active(x0)) 460.36/164.24 isNat(mark(x0)) 460.36/164.24 isNat(active(x0)) 460.36/164.24 U31(mark(x0), x1) 460.36/164.24 U31(x0, mark(x1)) 460.36/164.24 U31(active(x0), x1) 460.36/164.24 U31(x0, active(x1)) 460.36/164.24 U32(mark(x0), x1) 460.36/164.24 U32(x0, mark(x1)) 460.36/164.24 U32(active(x0), x1) 460.36/164.24 U32(x0, active(x1)) 460.36/164.24 U33(mark(x0)) 460.36/164.24 U33(active(x0)) 460.36/164.24 U41(mark(x0), x1, x2) 460.36/164.24 U41(x0, mark(x1), x2) 460.36/164.24 U41(x0, x1, mark(x2)) 460.36/164.24 U41(active(x0), x1, x2) 460.36/164.24 U41(x0, active(x1), x2) 460.36/164.24 U41(x0, x1, active(x2)) 460.36/164.24 U42(mark(x0), x1, x2) 460.36/164.24 U42(x0, mark(x1), x2) 460.36/164.24 U42(x0, x1, mark(x2)) 460.36/164.24 U42(active(x0), x1, x2) 460.36/164.24 U42(x0, active(x1), x2) 460.36/164.24 U42(x0, x1, active(x2)) 460.36/164.24 U43(mark(x0), x1, x2) 460.36/164.24 U43(x0, mark(x1), x2) 460.36/164.24 U43(x0, x1, mark(x2)) 460.36/164.24 U43(active(x0), x1, x2) 460.36/164.24 U43(x0, active(x1), x2) 460.36/164.24 U43(x0, x1, active(x2)) 460.36/164.24 U44(mark(x0), x1, x2) 460.36/164.24 U44(x0, mark(x1), x2) 460.36/164.24 U44(x0, x1, mark(x2)) 460.36/164.24 U44(active(x0), x1, x2) 460.36/164.24 U44(x0, active(x1), x2) 460.36/164.24 U44(x0, x1, active(x2)) 460.36/164.24 U45(mark(x0), x1) 460.36/164.24 U45(x0, mark(x1)) 460.36/164.24 U45(active(x0), x1) 460.36/164.24 U45(x0, active(x1)) 460.36/164.24 U46(mark(x0)) 460.36/164.24 U46(active(x0)) 460.36/164.24 isNatIList(mark(x0)) 460.36/164.24 isNatIList(active(x0)) 460.36/164.24 U51(mark(x0), x1) 460.36/164.24 U51(x0, mark(x1)) 460.36/164.24 U51(active(x0), x1) 460.36/164.24 U51(x0, active(x1)) 460.36/164.24 U52(mark(x0)) 460.36/164.24 U52(active(x0)) 460.36/164.24 U61(mark(x0)) 460.36/164.24 U61(active(x0)) 460.36/164.24 U71(mark(x0)) 460.36/164.24 U71(active(x0)) 460.36/164.24 U81(mark(x0), x1, x2) 460.36/164.24 U81(x0, mark(x1), x2) 460.36/164.24 U81(x0, x1, mark(x2)) 460.36/164.24 U81(active(x0), x1, x2) 460.36/164.24 U81(x0, active(x1), x2) 460.36/164.24 U81(x0, x1, active(x2)) 460.36/164.24 U82(mark(x0), x1, x2) 460.36/164.24 U82(x0, mark(x1), x2) 460.36/164.24 U82(x0, x1, mark(x2)) 460.36/164.24 U82(active(x0), x1, x2) 460.36/164.24 U82(x0, active(x1), x2) 460.36/164.24 U82(x0, x1, active(x2)) 460.36/164.24 U83(mark(x0), x1, x2) 460.36/164.24 U83(x0, mark(x1), x2) 460.36/164.24 U83(x0, x1, mark(x2)) 460.36/164.24 U83(active(x0), x1, x2) 460.36/164.24 U83(x0, active(x1), x2) 460.36/164.24 U83(x0, x1, active(x2)) 460.36/164.24 U84(mark(x0), x1, x2) 460.36/164.24 U84(x0, mark(x1), x2) 460.36/164.24 U84(x0, x1, mark(x2)) 460.36/164.24 U84(active(x0), x1, x2) 460.36/164.24 U84(x0, active(x1), x2) 460.36/164.24 U84(x0, x1, active(x2)) 460.36/164.24 U85(mark(x0), x1) 460.36/164.24 U85(x0, mark(x1)) 460.36/164.24 U85(active(x0), x1) 460.36/164.24 U85(x0, active(x1)) 460.36/164.24 U86(mark(x0)) 460.36/164.24 U86(active(x0)) 460.36/164.24 U91(mark(x0), x1, x2) 460.36/164.24 U91(x0, mark(x1), x2) 460.36/164.24 U91(x0, x1, mark(x2)) 460.36/164.24 U91(active(x0), x1, x2) 460.36/164.24 U91(x0, active(x1), x2) 460.36/164.24 U91(x0, x1, active(x2)) 460.36/164.24 U92(mark(x0), x1, x2) 460.36/164.24 U92(x0, mark(x1), x2) 460.36/164.24 U92(x0, x1, mark(x2)) 460.36/164.24 U92(active(x0), x1, x2) 460.36/164.24 U92(x0, active(x1), x2) 460.36/164.24 U92(x0, x1, active(x2)) 460.36/164.24 U93(mark(x0), x1, x2) 460.36/164.24 U93(x0, mark(x1), x2) 460.36/164.24 U93(x0, x1, mark(x2)) 460.36/164.24 U93(active(x0), x1, x2) 460.36/164.24 U93(x0, active(x1), x2) 460.36/164.24 U93(x0, x1, active(x2)) 460.36/164.24 U94(mark(x0), x1) 460.36/164.24 U94(x0, mark(x1)) 460.36/164.24 U94(active(x0), x1) 460.36/164.24 U94(x0, active(x1)) 460.36/164.24 s(mark(x0)) 460.36/164.24 s(active(x0)) 460.36/164.24 length(mark(x0)) 460.36/164.24 length(active(x0)) 460.36/164.24 460.36/164.24 We have to consider all minimal (P,Q,R)-chains. 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (299) QDPOrderProof (EQUIVALENT) 460.36/164.24 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.24 460.36/164.24 460.36/164.24 The following pairs can be oriented strictly and are deleted. 460.36/164.24 460.36/164.24 MARK(U13(X)) -> MARK(X) 460.36/164.24 The remaining pairs can at least be oriented weakly. 460.36/164.24 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.24 460.36/164.24 POL( ACTIVE_1(x_1) ) = 0 460.36/164.24 POL( U21_2(x_1, x_2) ) = x_1 + 1 460.36/164.24 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U43_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U81_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U82_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.24 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.24 POL( U84_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.24 POL( U85_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.24 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.24 POL( U93_3(x_1, ..., x_3) ) = 1 460.36/164.24 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( length_1(x_1) ) = max{0, -2} 460.36/164.24 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.24 POL( zeros ) = 2 460.36/164.24 POL( active_1(x_1) ) = 2 460.36/164.24 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.24 POL( 0 ) = 1 460.36/164.24 POL( U11_2(x_1, x_2) ) = 0 460.36/164.24 POL( tt ) = 0 460.36/164.24 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} 460.36/164.24 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.24 POL( U13_1(x_1) ) = 2x_1 + 2 460.36/164.24 POL( isNatList_1(x_1) ) = 0 460.36/164.24 POL( isNatKind_1(x_1) ) = 0 460.36/164.24 POL( U23_1(x_1) ) = x_1 + 1 460.36/164.24 POL( isNat_1(x_1) ) = 0 460.36/164.24 POL( U31_2(x_1, x_2) ) = 2 460.36/164.24 POL( U32_2(x_1, x_2) ) = 2 460.36/164.24 POL( U33_1(x_1) ) = 2 460.36/164.24 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( isNatIList_1(x_1) ) = 0 460.36/164.24 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.24 POL( s_1(x_1) ) = x_1 + 1 460.36/164.24 POL( U61_1(x_1) ) = x_1 + 1 460.36/164.24 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.24 POL( nil ) = 0 460.36/164.24 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.24 460.36/164.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.24 none 460.36/164.24 460.36/164.24 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (300) 460.36/164.24 Obligation: 460.36/164.24 Q DP problem: 460.36/164.24 The TRS P consists of the following rules: 460.36/164.24 460.36/164.24 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.24 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.24 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.24 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.24 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.24 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.24 MARK(U23(X)) -> MARK(X) 460.36/164.24 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.24 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.24 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.24 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.24 MARK(U46(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.24 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.24 MARK(U52(X)) -> MARK(X) 460.36/164.24 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.24 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.24 MARK(U61(X)) -> MARK(X) 460.36/164.24 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.24 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.24 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.24 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.24 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.24 MARK(U86(X)) -> MARK(X) 460.36/164.24 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.24 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.24 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U71(X)) -> MARK(X) 460.36/164.24 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.24 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.24 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.24 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.24 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.24 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.24 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.24 MARK(s(X)) -> MARK(X) 460.36/164.24 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.24 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.24 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.24 460.36/164.24 The TRS R consists of the following rules: 460.36/164.24 460.36/164.24 mark(zeros) -> active(zeros) 460.36/164.24 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.24 active(zeros) -> mark(cons(0, zeros)) 460.36/164.24 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.24 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.24 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.24 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.24 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.24 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.24 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.24 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.24 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.24 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.24 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.24 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.24 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.24 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.24 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.24 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.24 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.24 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.24 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.24 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.24 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.24 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.24 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.24 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.24 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.24 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.24 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.24 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.24 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.24 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.24 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.24 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.24 mark(s(X)) -> active(s(mark(X))) 460.36/164.24 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.24 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.24 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.24 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.24 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.24 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.24 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.24 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.24 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.24 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.24 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.24 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.24 mark(0) -> active(0) 460.36/164.24 mark(tt) -> active(tt) 460.36/164.24 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.24 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.24 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.24 mark(isNat(X)) -> active(isNat(X)) 460.36/164.24 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.24 mark(length(X)) -> active(length(mark(X))) 460.36/164.24 mark(nil) -> active(nil) 460.36/164.24 length(active(X)) -> length(X) 460.36/164.24 length(mark(X)) -> length(X) 460.36/164.24 active(U13(tt)) -> mark(tt) 460.36/164.24 active(U23(tt)) -> mark(tt) 460.36/164.24 active(U33(tt)) -> mark(tt) 460.36/164.24 active(U46(tt)) -> mark(tt) 460.36/164.24 active(U52(tt)) -> mark(tt) 460.36/164.24 active(U61(tt)) -> mark(tt) 460.36/164.24 active(U71(tt)) -> mark(tt) 460.36/164.24 active(U86(tt)) -> mark(tt) 460.36/164.24 active(isNat(0)) -> mark(tt) 460.36/164.24 active(isNatIList(zeros)) -> mark(tt) 460.36/164.24 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.24 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.24 active(isNatKind(0)) -> mark(tt) 460.36/164.24 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.24 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.24 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.24 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.24 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.24 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.24 U13(active(X)) -> U13(X) 460.36/164.24 U13(mark(X)) -> U13(X) 460.36/164.24 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.24 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.24 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.24 U23(active(X)) -> U23(X) 460.36/164.24 U23(mark(X)) -> U23(X) 460.36/164.24 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.24 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.24 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.24 U33(active(X)) -> U33(X) 460.36/164.24 U33(mark(X)) -> U33(X) 460.36/164.24 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.24 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.24 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.24 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.24 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.24 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.24 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.24 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.24 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.24 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.24 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.24 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.24 U46(active(X)) -> U46(X) 460.36/164.24 U46(mark(X)) -> U46(X) 460.36/164.24 U52(active(X)) -> U52(X) 460.36/164.24 U52(mark(X)) -> U52(X) 460.36/164.24 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.24 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.24 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.24 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.24 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.24 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.24 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.24 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.24 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.24 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.24 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.24 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.24 U86(active(X)) -> U86(X) 460.36/164.24 U86(mark(X)) -> U86(X) 460.36/164.24 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.24 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.24 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.24 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.24 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.24 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.24 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.24 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.24 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.24 s(active(X)) -> s(X) 460.36/164.24 s(mark(X)) -> s(X) 460.36/164.24 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.24 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.24 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.24 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.24 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.24 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.24 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.24 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.24 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.24 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.24 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.24 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.24 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.24 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.24 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.24 U61(active(X)) -> U61(X) 460.36/164.24 U61(mark(X)) -> U61(X) 460.36/164.24 U71(active(X)) -> U71(X) 460.36/164.24 U71(mark(X)) -> U71(X) 460.36/164.24 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.24 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.24 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.24 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.24 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.24 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.24 460.36/164.24 The set Q consists of the following terms: 460.36/164.24 460.36/164.24 active(zeros) 460.36/164.24 active(U11(tt, x0)) 460.36/164.24 active(U12(tt, x0)) 460.36/164.24 active(U13(tt)) 460.36/164.24 active(U21(tt, x0)) 460.36/164.24 active(U22(tt, x0)) 460.36/164.24 active(U23(tt)) 460.36/164.24 active(U31(tt, x0)) 460.36/164.24 active(U32(tt, x0)) 460.36/164.24 active(U33(tt)) 460.36/164.24 active(U41(tt, x0, x1)) 460.36/164.24 active(U42(tt, x0, x1)) 460.36/164.24 active(U43(tt, x0, x1)) 460.36/164.24 active(U44(tt, x0, x1)) 460.36/164.24 active(U45(tt, x0)) 460.36/164.24 active(U46(tt)) 460.36/164.24 active(U51(tt, x0)) 460.36/164.24 active(U52(tt)) 460.36/164.24 active(U61(tt)) 460.36/164.24 active(U71(tt)) 460.36/164.24 active(U81(tt, x0, x1)) 460.36/164.24 active(U82(tt, x0, x1)) 460.36/164.24 active(U83(tt, x0, x1)) 460.36/164.24 active(U84(tt, x0, x1)) 460.36/164.24 active(U85(tt, x0)) 460.36/164.24 active(U86(tt)) 460.36/164.24 active(U91(tt, x0, x1)) 460.36/164.24 active(U92(tt, x0, x1)) 460.36/164.24 active(U93(tt, x0, x1)) 460.36/164.24 active(U94(tt, x0)) 460.36/164.24 active(isNat(0)) 460.36/164.24 active(isNat(length(x0))) 460.36/164.24 active(isNat(s(x0))) 460.36/164.24 active(isNatIList(x0)) 460.36/164.24 active(isNatIListKind(nil)) 460.36/164.24 active(isNatIListKind(zeros)) 460.36/164.24 active(isNatIListKind(cons(x0, x1))) 460.36/164.24 active(isNatKind(0)) 460.36/164.24 active(isNatKind(length(x0))) 460.36/164.24 active(isNatKind(s(x0))) 460.36/164.24 active(isNatList(nil)) 460.36/164.24 active(isNatList(cons(x0, x1))) 460.36/164.24 active(length(nil)) 460.36/164.24 active(length(cons(x0, x1))) 460.36/164.24 mark(zeros) 460.36/164.24 mark(cons(x0, x1)) 460.36/164.24 mark(0) 460.36/164.24 mark(U11(x0, x1)) 460.36/164.24 mark(tt) 460.36/164.24 mark(U12(x0, x1)) 460.36/164.24 mark(isNatIListKind(x0)) 460.36/164.24 mark(U13(x0)) 460.36/164.24 mark(isNatList(x0)) 460.36/164.24 mark(U21(x0, x1)) 460.36/164.24 mark(U22(x0, x1)) 460.36/164.24 mark(isNatKind(x0)) 460.36/164.24 mark(U23(x0)) 460.36/164.24 mark(isNat(x0)) 460.36/164.24 mark(U31(x0, x1)) 460.36/164.24 mark(U32(x0, x1)) 460.36/164.24 mark(U33(x0)) 460.36/164.24 mark(U41(x0, x1, x2)) 460.36/164.24 mark(U42(x0, x1, x2)) 460.36/164.24 mark(U43(x0, x1, x2)) 460.36/164.24 mark(U44(x0, x1, x2)) 460.36/164.24 mark(U45(x0, x1)) 460.36/164.24 mark(U46(x0)) 460.36/164.24 mark(isNatIList(x0)) 460.36/164.24 mark(U51(x0, x1)) 460.36/164.24 mark(U52(x0)) 460.36/164.24 mark(U61(x0)) 460.36/164.24 mark(U71(x0)) 460.36/164.24 mark(U81(x0, x1, x2)) 460.36/164.24 mark(U82(x0, x1, x2)) 460.36/164.24 mark(U83(x0, x1, x2)) 460.36/164.24 mark(U84(x0, x1, x2)) 460.36/164.24 mark(U85(x0, x1)) 460.36/164.24 mark(U86(x0)) 460.36/164.24 mark(U91(x0, x1, x2)) 460.36/164.24 mark(U92(x0, x1, x2)) 460.36/164.24 mark(U93(x0, x1, x2)) 460.36/164.24 mark(U94(x0, x1)) 460.36/164.24 mark(s(x0)) 460.36/164.24 mark(length(x0)) 460.36/164.24 mark(nil) 460.36/164.24 cons(mark(x0), x1) 460.36/164.24 cons(x0, mark(x1)) 460.36/164.24 cons(active(x0), x1) 460.36/164.24 cons(x0, active(x1)) 460.36/164.24 U11(mark(x0), x1) 460.36/164.24 U11(x0, mark(x1)) 460.36/164.24 U11(active(x0), x1) 460.36/164.24 U11(x0, active(x1)) 460.36/164.24 U12(mark(x0), x1) 460.36/164.24 U12(x0, mark(x1)) 460.36/164.24 U12(active(x0), x1) 460.36/164.24 U12(x0, active(x1)) 460.36/164.24 isNatIListKind(mark(x0)) 460.36/164.24 isNatIListKind(active(x0)) 460.36/164.24 U13(mark(x0)) 460.36/164.24 U13(active(x0)) 460.36/164.24 isNatList(mark(x0)) 460.36/164.24 isNatList(active(x0)) 460.36/164.24 U21(mark(x0), x1) 460.36/164.24 U21(x0, mark(x1)) 460.36/164.24 U21(active(x0), x1) 460.36/164.24 U21(x0, active(x1)) 460.36/164.24 U22(mark(x0), x1) 460.36/164.24 U22(x0, mark(x1)) 460.36/164.24 U22(active(x0), x1) 460.36/164.24 U22(x0, active(x1)) 460.36/164.24 isNatKind(mark(x0)) 460.36/164.24 isNatKind(active(x0)) 460.36/164.24 U23(mark(x0)) 460.36/164.24 U23(active(x0)) 460.36/164.24 isNat(mark(x0)) 460.36/164.24 isNat(active(x0)) 460.36/164.24 U31(mark(x0), x1) 460.36/164.24 U31(x0, mark(x1)) 460.36/164.24 U31(active(x0), x1) 460.36/164.24 U31(x0, active(x1)) 460.36/164.24 U32(mark(x0), x1) 460.36/164.24 U32(x0, mark(x1)) 460.36/164.24 U32(active(x0), x1) 460.36/164.24 U32(x0, active(x1)) 460.36/164.24 U33(mark(x0)) 460.36/164.24 U33(active(x0)) 460.36/164.24 U41(mark(x0), x1, x2) 460.36/164.24 U41(x0, mark(x1), x2) 460.36/164.24 U41(x0, x1, mark(x2)) 460.36/164.24 U41(active(x0), x1, x2) 460.36/164.24 U41(x0, active(x1), x2) 460.36/164.24 U41(x0, x1, active(x2)) 460.36/164.24 U42(mark(x0), x1, x2) 460.36/164.24 U42(x0, mark(x1), x2) 460.36/164.24 U42(x0, x1, mark(x2)) 460.36/164.24 U42(active(x0), x1, x2) 460.36/164.24 U42(x0, active(x1), x2) 460.36/164.24 U42(x0, x1, active(x2)) 460.36/164.24 U43(mark(x0), x1, x2) 460.36/164.24 U43(x0, mark(x1), x2) 460.36/164.24 U43(x0, x1, mark(x2)) 460.36/164.24 U43(active(x0), x1, x2) 460.36/164.24 U43(x0, active(x1), x2) 460.36/164.24 U43(x0, x1, active(x2)) 460.36/164.24 U44(mark(x0), x1, x2) 460.36/164.24 U44(x0, mark(x1), x2) 460.36/164.24 U44(x0, x1, mark(x2)) 460.36/164.24 U44(active(x0), x1, x2) 460.36/164.24 U44(x0, active(x1), x2) 460.36/164.24 U44(x0, x1, active(x2)) 460.36/164.24 U45(mark(x0), x1) 460.36/164.24 U45(x0, mark(x1)) 460.36/164.24 U45(active(x0), x1) 460.36/164.24 U45(x0, active(x1)) 460.36/164.24 U46(mark(x0)) 460.36/164.24 U46(active(x0)) 460.36/164.24 isNatIList(mark(x0)) 460.36/164.24 isNatIList(active(x0)) 460.36/164.24 U51(mark(x0), x1) 460.36/164.24 U51(x0, mark(x1)) 460.36/164.24 U51(active(x0), x1) 460.36/164.24 U51(x0, active(x1)) 460.36/164.24 U52(mark(x0)) 460.36/164.24 U52(active(x0)) 460.36/164.24 U61(mark(x0)) 460.36/164.24 U61(active(x0)) 460.36/164.24 U71(mark(x0)) 460.36/164.24 U71(active(x0)) 460.36/164.24 U81(mark(x0), x1, x2) 460.36/164.24 U81(x0, mark(x1), x2) 460.36/164.24 U81(x0, x1, mark(x2)) 460.36/164.24 U81(active(x0), x1, x2) 460.36/164.24 U81(x0, active(x1), x2) 460.36/164.24 U81(x0, x1, active(x2)) 460.36/164.24 U82(mark(x0), x1, x2) 460.36/164.24 U82(x0, mark(x1), x2) 460.36/164.24 U82(x0, x1, mark(x2)) 460.36/164.24 U82(active(x0), x1, x2) 460.36/164.24 U82(x0, active(x1), x2) 460.36/164.24 U82(x0, x1, active(x2)) 460.36/164.24 U83(mark(x0), x1, x2) 460.36/164.24 U83(x0, mark(x1), x2) 460.36/164.24 U83(x0, x1, mark(x2)) 460.36/164.24 U83(active(x0), x1, x2) 460.36/164.24 U83(x0, active(x1), x2) 460.36/164.24 U83(x0, x1, active(x2)) 460.36/164.24 U84(mark(x0), x1, x2) 460.36/164.24 U84(x0, mark(x1), x2) 460.36/164.24 U84(x0, x1, mark(x2)) 460.36/164.24 U84(active(x0), x1, x2) 460.36/164.24 U84(x0, active(x1), x2) 460.36/164.24 U84(x0, x1, active(x2)) 460.36/164.24 U85(mark(x0), x1) 460.36/164.24 U85(x0, mark(x1)) 460.36/164.24 U85(active(x0), x1) 460.36/164.24 U85(x0, active(x1)) 460.36/164.24 U86(mark(x0)) 460.36/164.24 U86(active(x0)) 460.36/164.24 U91(mark(x0), x1, x2) 460.36/164.24 U91(x0, mark(x1), x2) 460.36/164.24 U91(x0, x1, mark(x2)) 460.36/164.24 U91(active(x0), x1, x2) 460.36/164.24 U91(x0, active(x1), x2) 460.36/164.24 U91(x0, x1, active(x2)) 460.36/164.24 U92(mark(x0), x1, x2) 460.36/164.24 U92(x0, mark(x1), x2) 460.36/164.24 U92(x0, x1, mark(x2)) 460.36/164.24 U92(active(x0), x1, x2) 460.36/164.24 U92(x0, active(x1), x2) 460.36/164.24 U92(x0, x1, active(x2)) 460.36/164.24 U93(mark(x0), x1, x2) 460.36/164.24 U93(x0, mark(x1), x2) 460.36/164.24 U93(x0, x1, mark(x2)) 460.36/164.24 U93(active(x0), x1, x2) 460.36/164.24 U93(x0, active(x1), x2) 460.36/164.24 U93(x0, x1, active(x2)) 460.36/164.24 U94(mark(x0), x1) 460.36/164.24 U94(x0, mark(x1)) 460.36/164.24 U94(active(x0), x1) 460.36/164.24 U94(x0, active(x1)) 460.36/164.24 s(mark(x0)) 460.36/164.24 s(active(x0)) 460.36/164.24 length(mark(x0)) 460.36/164.24 length(active(x0)) 460.36/164.24 460.36/164.24 We have to consider all minimal (P,Q,R)-chains. 460.36/164.24 ---------------------------------------- 460.36/164.24 460.36/164.24 (301) QDPOrderProof (EQUIVALENT) 460.36/164.24 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.24 460.36/164.24 460.36/164.24 The following pairs can be oriented strictly and are deleted. 460.36/164.24 460.36/164.24 MARK(U81(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U82(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U83(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U84(X1, X2, X3)) -> MARK(X1) 460.36/164.24 MARK(U85(X1, X2)) -> MARK(X1) 460.36/164.24 The remaining pairs can at least be oriented weakly. 460.36/164.24 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.24 460.36/164.24 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.24 POL( U21_2(x_1, x_2) ) = 2x_1 460.36/164.24 POL( U22_2(x_1, x_2) ) = 2x_1 460.36/164.24 POL( U41_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.24 POL( U42_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.24 POL( U43_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 + 2 460.36/164.24 POL( U44_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.24 POL( U45_2(x_1, x_2) ) = x_2 + 2 460.36/164.24 POL( U51_2(x_1, x_2) ) = x_1 460.36/164.24 POL( U81_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.24 POL( U82_3(x_1, ..., x_3) ) = x_1 + 2 460.36/164.24 POL( U83_3(x_1, ..., x_3) ) = x_1 + 2 460.36/164.24 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.24 POL( U85_2(x_1, x_2) ) = x_1 + 2 460.36/164.24 POL( U91_3(x_1, ..., x_3) ) = 0 460.36/164.24 POL( U92_3(x_1, ..., x_3) ) = 0 460.36/164.24 POL( U93_3(x_1, ..., x_3) ) = 0 460.36/164.24 POL( U94_2(x_1, x_2) ) = 0 460.36/164.24 POL( length_1(x_1) ) = 0 460.36/164.24 POL( mark_1(x_1) ) = x_1 460.36/164.24 POL( zeros ) = 0 460.36/164.24 POL( active_1(x_1) ) = x_1 460.36/164.24 POL( cons_2(x_1, x_2) ) = 2x_1 + x_2 460.36/164.24 POL( 0 ) = 0 460.36/164.24 POL( U11_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( tt ) = 0 460.36/164.24 POL( U12_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.24 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.24 POL( isNatList_1(x_1) ) = 2 460.36/164.24 POL( isNatKind_1(x_1) ) = 0 460.36/164.24 POL( U23_1(x_1) ) = x_1 460.36/164.24 POL( isNat_1(x_1) ) = 0 460.36/164.24 POL( U31_2(x_1, x_2) ) = x_1 + x_2 + 2 460.36/164.24 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.36/164.24 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.24 POL( U46_1(x_1) ) = x_1 460.36/164.24 POL( isNatIList_1(x_1) ) = x_1 + 2 460.36/164.24 POL( U52_1(x_1) ) = x_1 460.36/164.24 POL( U86_1(x_1) ) = x_1 460.36/164.24 POL( s_1(x_1) ) = 2x_1 460.36/164.24 POL( U61_1(x_1) ) = 2x_1 460.36/164.24 POL( U71_1(x_1) ) = x_1 460.36/164.24 POL( nil ) = 2 460.36/164.24 POL( MARK_1(x_1) ) = x_1 460.36/164.24 460.36/164.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.24 460.36/164.24 mark(zeros) -> active(zeros) 460.36/164.24 active(zeros) -> mark(cons(0, zeros)) 460.36/164.24 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.24 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.24 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.24 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.24 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.24 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.24 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.24 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.24 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.24 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.24 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.24 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.24 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.24 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.24 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.24 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.24 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.24 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.24 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.24 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.24 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.24 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.24 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.24 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.25 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.25 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.25 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.25 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.25 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.25 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.25 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.25 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.25 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.25 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.25 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.25 mark(s(X)) -> active(s(mark(X))) 460.36/164.25 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.25 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.25 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.25 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.25 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.25 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.25 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.25 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.25 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.25 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.25 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.25 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.25 mark(0) -> active(0) 460.36/164.25 mark(tt) -> active(tt) 460.36/164.25 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.25 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.25 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.25 mark(isNat(X)) -> active(isNat(X)) 460.36/164.25 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.25 mark(length(X)) -> active(length(mark(X))) 460.36/164.25 mark(nil) -> active(nil) 460.36/164.25 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.25 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.25 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.25 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.25 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.25 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.25 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.25 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.25 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.25 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.25 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.25 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.25 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.25 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.25 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.25 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.25 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.25 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.25 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.25 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.25 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.25 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.25 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.25 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.25 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.25 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.25 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.25 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.25 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.25 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.25 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.25 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.25 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.25 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.25 length(mark(X)) -> length(X) 460.36/164.25 length(active(X)) -> length(X) 460.36/164.25 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.25 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.25 active(U13(tt)) -> mark(tt) 460.36/164.25 active(U23(tt)) -> mark(tt) 460.36/164.25 active(U33(tt)) -> mark(tt) 460.36/164.25 active(U46(tt)) -> mark(tt) 460.36/164.25 active(U52(tt)) -> mark(tt) 460.36/164.25 active(U61(tt)) -> mark(tt) 460.36/164.25 active(U71(tt)) -> mark(tt) 460.36/164.25 active(U86(tt)) -> mark(tt) 460.36/164.25 active(isNat(0)) -> mark(tt) 460.36/164.25 active(isNatIList(zeros)) -> mark(tt) 460.36/164.25 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.25 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.25 active(isNatKind(0)) -> mark(tt) 460.36/164.25 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.25 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.25 U13(mark(X)) -> U13(X) 460.36/164.25 U13(active(X)) -> U13(X) 460.36/164.25 U23(mark(X)) -> U23(X) 460.36/164.25 U23(active(X)) -> U23(X) 460.36/164.25 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.25 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.25 U33(mark(X)) -> U33(X) 460.36/164.25 U33(active(X)) -> U33(X) 460.36/164.25 U46(mark(X)) -> U46(X) 460.36/164.25 U46(active(X)) -> U46(X) 460.36/164.25 U52(mark(X)) -> U52(X) 460.36/164.25 U52(active(X)) -> U52(X) 460.36/164.25 U86(mark(X)) -> U86(X) 460.36/164.25 U86(active(X)) -> U86(X) 460.36/164.25 s(mark(X)) -> s(X) 460.36/164.25 s(active(X)) -> s(X) 460.36/164.25 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.25 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.25 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.25 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.25 U61(mark(X)) -> U61(X) 460.36/164.25 U61(active(X)) -> U61(X) 460.36/164.25 U71(mark(X)) -> U71(X) 460.36/164.25 U71(active(X)) -> U71(X) 460.36/164.25 460.36/164.25 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (302) 460.36/164.25 Obligation: 460.36/164.25 Q DP problem: 460.36/164.25 The TRS P consists of the following rules: 460.36/164.25 460.36/164.25 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.25 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.25 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.25 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.25 MARK(U23(X)) -> MARK(X) 460.36/164.25 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.25 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.25 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.25 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.25 MARK(U46(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.25 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.25 MARK(U52(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.25 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.25 MARK(U61(X)) -> MARK(X) 460.36/164.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.25 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.25 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.25 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.25 MARK(U86(X)) -> MARK(X) 460.36/164.25 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.25 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(U71(X)) -> MARK(X) 460.36/164.25 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.25 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.25 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.25 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.25 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.25 MARK(s(X)) -> MARK(X) 460.36/164.25 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.25 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.25 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.25 460.36/164.25 The TRS R consists of the following rules: 460.36/164.25 460.36/164.25 mark(zeros) -> active(zeros) 460.36/164.25 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.25 active(zeros) -> mark(cons(0, zeros)) 460.36/164.25 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.25 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.25 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.25 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.25 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.25 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.25 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.25 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.25 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.25 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.25 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.25 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.25 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.25 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.25 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.25 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.25 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.25 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.25 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.25 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.25 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.25 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.25 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.25 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.25 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.25 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.25 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.25 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.25 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.25 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.25 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.25 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.25 mark(s(X)) -> active(s(mark(X))) 460.36/164.25 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.25 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.25 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.25 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.25 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.25 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.25 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.25 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.25 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.25 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.25 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.25 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.25 mark(0) -> active(0) 460.36/164.25 mark(tt) -> active(tt) 460.36/164.25 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.25 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.25 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.25 mark(isNat(X)) -> active(isNat(X)) 460.36/164.25 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.25 mark(length(X)) -> active(length(mark(X))) 460.36/164.25 mark(nil) -> active(nil) 460.36/164.25 length(active(X)) -> length(X) 460.36/164.25 length(mark(X)) -> length(X) 460.36/164.25 active(U13(tt)) -> mark(tt) 460.36/164.25 active(U23(tt)) -> mark(tt) 460.36/164.25 active(U33(tt)) -> mark(tt) 460.36/164.25 active(U46(tt)) -> mark(tt) 460.36/164.25 active(U52(tt)) -> mark(tt) 460.36/164.25 active(U61(tt)) -> mark(tt) 460.36/164.25 active(U71(tt)) -> mark(tt) 460.36/164.25 active(U86(tt)) -> mark(tt) 460.36/164.25 active(isNat(0)) -> mark(tt) 460.36/164.25 active(isNatIList(zeros)) -> mark(tt) 460.36/164.25 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.25 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.25 active(isNatKind(0)) -> mark(tt) 460.36/164.25 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.25 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.25 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.25 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.25 U13(active(X)) -> U13(X) 460.36/164.25 U13(mark(X)) -> U13(X) 460.36/164.25 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.25 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.25 U23(active(X)) -> U23(X) 460.36/164.25 U23(mark(X)) -> U23(X) 460.36/164.25 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.25 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.25 U33(active(X)) -> U33(X) 460.36/164.25 U33(mark(X)) -> U33(X) 460.36/164.25 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.25 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.25 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.25 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.25 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.25 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.25 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.25 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.25 U46(active(X)) -> U46(X) 460.36/164.25 U46(mark(X)) -> U46(X) 460.36/164.25 U52(active(X)) -> U52(X) 460.36/164.25 U52(mark(X)) -> U52(X) 460.36/164.25 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.25 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.25 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.25 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.25 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.25 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.25 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.25 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.25 U86(active(X)) -> U86(X) 460.36/164.25 U86(mark(X)) -> U86(X) 460.36/164.25 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.25 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.25 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.25 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.25 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.25 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.25 s(active(X)) -> s(X) 460.36/164.25 s(mark(X)) -> s(X) 460.36/164.25 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.25 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.25 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.25 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.25 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.25 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.25 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.25 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.25 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.25 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.25 U61(active(X)) -> U61(X) 460.36/164.25 U61(mark(X)) -> U61(X) 460.36/164.25 U71(active(X)) -> U71(X) 460.36/164.25 U71(mark(X)) -> U71(X) 460.36/164.25 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.25 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.25 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.25 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.25 460.36/164.25 The set Q consists of the following terms: 460.36/164.25 460.36/164.25 active(zeros) 460.36/164.25 active(U11(tt, x0)) 460.36/164.25 active(U12(tt, x0)) 460.36/164.25 active(U13(tt)) 460.36/164.25 active(U21(tt, x0)) 460.36/164.25 active(U22(tt, x0)) 460.36/164.25 active(U23(tt)) 460.36/164.25 active(U31(tt, x0)) 460.36/164.25 active(U32(tt, x0)) 460.36/164.25 active(U33(tt)) 460.36/164.25 active(U41(tt, x0, x1)) 460.36/164.25 active(U42(tt, x0, x1)) 460.36/164.25 active(U43(tt, x0, x1)) 460.36/164.25 active(U44(tt, x0, x1)) 460.36/164.25 active(U45(tt, x0)) 460.36/164.25 active(U46(tt)) 460.36/164.25 active(U51(tt, x0)) 460.36/164.25 active(U52(tt)) 460.36/164.25 active(U61(tt)) 460.36/164.25 active(U71(tt)) 460.36/164.25 active(U81(tt, x0, x1)) 460.36/164.25 active(U82(tt, x0, x1)) 460.36/164.25 active(U83(tt, x0, x1)) 460.36/164.25 active(U84(tt, x0, x1)) 460.36/164.25 active(U85(tt, x0)) 460.36/164.25 active(U86(tt)) 460.36/164.25 active(U91(tt, x0, x1)) 460.36/164.25 active(U92(tt, x0, x1)) 460.36/164.25 active(U93(tt, x0, x1)) 460.36/164.25 active(U94(tt, x0)) 460.36/164.25 active(isNat(0)) 460.36/164.25 active(isNat(length(x0))) 460.36/164.25 active(isNat(s(x0))) 460.36/164.25 active(isNatIList(x0)) 460.36/164.25 active(isNatIListKind(nil)) 460.36/164.25 active(isNatIListKind(zeros)) 460.36/164.25 active(isNatIListKind(cons(x0, x1))) 460.36/164.25 active(isNatKind(0)) 460.36/164.25 active(isNatKind(length(x0))) 460.36/164.25 active(isNatKind(s(x0))) 460.36/164.25 active(isNatList(nil)) 460.36/164.25 active(isNatList(cons(x0, x1))) 460.36/164.25 active(length(nil)) 460.36/164.25 active(length(cons(x0, x1))) 460.36/164.25 mark(zeros) 460.36/164.25 mark(cons(x0, x1)) 460.36/164.25 mark(0) 460.36/164.25 mark(U11(x0, x1)) 460.36/164.25 mark(tt) 460.36/164.25 mark(U12(x0, x1)) 460.36/164.25 mark(isNatIListKind(x0)) 460.36/164.25 mark(U13(x0)) 460.36/164.25 mark(isNatList(x0)) 460.36/164.25 mark(U21(x0, x1)) 460.36/164.25 mark(U22(x0, x1)) 460.36/164.25 mark(isNatKind(x0)) 460.36/164.25 mark(U23(x0)) 460.36/164.25 mark(isNat(x0)) 460.36/164.25 mark(U31(x0, x1)) 460.36/164.25 mark(U32(x0, x1)) 460.36/164.25 mark(U33(x0)) 460.36/164.25 mark(U41(x0, x1, x2)) 460.36/164.25 mark(U42(x0, x1, x2)) 460.36/164.25 mark(U43(x0, x1, x2)) 460.36/164.25 mark(U44(x0, x1, x2)) 460.36/164.25 mark(U45(x0, x1)) 460.36/164.25 mark(U46(x0)) 460.36/164.25 mark(isNatIList(x0)) 460.36/164.25 mark(U51(x0, x1)) 460.36/164.25 mark(U52(x0)) 460.36/164.25 mark(U61(x0)) 460.36/164.25 mark(U71(x0)) 460.36/164.25 mark(U81(x0, x1, x2)) 460.36/164.25 mark(U82(x0, x1, x2)) 460.36/164.25 mark(U83(x0, x1, x2)) 460.36/164.25 mark(U84(x0, x1, x2)) 460.36/164.25 mark(U85(x0, x1)) 460.36/164.25 mark(U86(x0)) 460.36/164.25 mark(U91(x0, x1, x2)) 460.36/164.25 mark(U92(x0, x1, x2)) 460.36/164.25 mark(U93(x0, x1, x2)) 460.36/164.25 mark(U94(x0, x1)) 460.36/164.25 mark(s(x0)) 460.36/164.25 mark(length(x0)) 460.36/164.25 mark(nil) 460.36/164.25 cons(mark(x0), x1) 460.36/164.25 cons(x0, mark(x1)) 460.36/164.25 cons(active(x0), x1) 460.36/164.25 cons(x0, active(x1)) 460.36/164.25 U11(mark(x0), x1) 460.36/164.25 U11(x0, mark(x1)) 460.36/164.25 U11(active(x0), x1) 460.36/164.25 U11(x0, active(x1)) 460.36/164.25 U12(mark(x0), x1) 460.36/164.25 U12(x0, mark(x1)) 460.36/164.25 U12(active(x0), x1) 460.36/164.25 U12(x0, active(x1)) 460.36/164.25 isNatIListKind(mark(x0)) 460.36/164.25 isNatIListKind(active(x0)) 460.36/164.25 U13(mark(x0)) 460.36/164.25 U13(active(x0)) 460.36/164.25 isNatList(mark(x0)) 460.36/164.25 isNatList(active(x0)) 460.36/164.25 U21(mark(x0), x1) 460.36/164.25 U21(x0, mark(x1)) 460.36/164.25 U21(active(x0), x1) 460.36/164.25 U21(x0, active(x1)) 460.36/164.25 U22(mark(x0), x1) 460.36/164.25 U22(x0, mark(x1)) 460.36/164.25 U22(active(x0), x1) 460.36/164.25 U22(x0, active(x1)) 460.36/164.25 isNatKind(mark(x0)) 460.36/164.25 isNatKind(active(x0)) 460.36/164.25 U23(mark(x0)) 460.36/164.25 U23(active(x0)) 460.36/164.25 isNat(mark(x0)) 460.36/164.25 isNat(active(x0)) 460.36/164.25 U31(mark(x0), x1) 460.36/164.25 U31(x0, mark(x1)) 460.36/164.25 U31(active(x0), x1) 460.36/164.25 U31(x0, active(x1)) 460.36/164.25 U32(mark(x0), x1) 460.36/164.25 U32(x0, mark(x1)) 460.36/164.25 U32(active(x0), x1) 460.36/164.25 U32(x0, active(x1)) 460.36/164.25 U33(mark(x0)) 460.36/164.25 U33(active(x0)) 460.36/164.25 U41(mark(x0), x1, x2) 460.36/164.25 U41(x0, mark(x1), x2) 460.36/164.25 U41(x0, x1, mark(x2)) 460.36/164.25 U41(active(x0), x1, x2) 460.36/164.25 U41(x0, active(x1), x2) 460.36/164.25 U41(x0, x1, active(x2)) 460.36/164.25 U42(mark(x0), x1, x2) 460.36/164.25 U42(x0, mark(x1), x2) 460.36/164.25 U42(x0, x1, mark(x2)) 460.36/164.25 U42(active(x0), x1, x2) 460.36/164.25 U42(x0, active(x1), x2) 460.36/164.25 U42(x0, x1, active(x2)) 460.36/164.25 U43(mark(x0), x1, x2) 460.36/164.25 U43(x0, mark(x1), x2) 460.36/164.25 U43(x0, x1, mark(x2)) 460.36/164.25 U43(active(x0), x1, x2) 460.36/164.25 U43(x0, active(x1), x2) 460.36/164.25 U43(x0, x1, active(x2)) 460.36/164.25 U44(mark(x0), x1, x2) 460.36/164.25 U44(x0, mark(x1), x2) 460.36/164.25 U44(x0, x1, mark(x2)) 460.36/164.25 U44(active(x0), x1, x2) 460.36/164.25 U44(x0, active(x1), x2) 460.36/164.25 U44(x0, x1, active(x2)) 460.36/164.25 U45(mark(x0), x1) 460.36/164.25 U45(x0, mark(x1)) 460.36/164.25 U45(active(x0), x1) 460.36/164.25 U45(x0, active(x1)) 460.36/164.25 U46(mark(x0)) 460.36/164.25 U46(active(x0)) 460.36/164.25 isNatIList(mark(x0)) 460.36/164.25 isNatIList(active(x0)) 460.36/164.25 U51(mark(x0), x1) 460.36/164.25 U51(x0, mark(x1)) 460.36/164.25 U51(active(x0), x1) 460.36/164.25 U51(x0, active(x1)) 460.36/164.25 U52(mark(x0)) 460.36/164.25 U52(active(x0)) 460.36/164.25 U61(mark(x0)) 460.36/164.25 U61(active(x0)) 460.36/164.25 U71(mark(x0)) 460.36/164.25 U71(active(x0)) 460.36/164.25 U81(mark(x0), x1, x2) 460.36/164.25 U81(x0, mark(x1), x2) 460.36/164.25 U81(x0, x1, mark(x2)) 460.36/164.25 U81(active(x0), x1, x2) 460.36/164.25 U81(x0, active(x1), x2) 460.36/164.25 U81(x0, x1, active(x2)) 460.36/164.25 U82(mark(x0), x1, x2) 460.36/164.25 U82(x0, mark(x1), x2) 460.36/164.25 U82(x0, x1, mark(x2)) 460.36/164.25 U82(active(x0), x1, x2) 460.36/164.25 U82(x0, active(x1), x2) 460.36/164.25 U82(x0, x1, active(x2)) 460.36/164.25 U83(mark(x0), x1, x2) 460.36/164.25 U83(x0, mark(x1), x2) 460.36/164.25 U83(x0, x1, mark(x2)) 460.36/164.25 U83(active(x0), x1, x2) 460.36/164.25 U83(x0, active(x1), x2) 460.36/164.25 U83(x0, x1, active(x2)) 460.36/164.25 U84(mark(x0), x1, x2) 460.36/164.25 U84(x0, mark(x1), x2) 460.36/164.25 U84(x0, x1, mark(x2)) 460.36/164.25 U84(active(x0), x1, x2) 460.36/164.25 U84(x0, active(x1), x2) 460.36/164.25 U84(x0, x1, active(x2)) 460.36/164.25 U85(mark(x0), x1) 460.36/164.25 U85(x0, mark(x1)) 460.36/164.25 U85(active(x0), x1) 460.36/164.25 U85(x0, active(x1)) 460.36/164.25 U86(mark(x0)) 460.36/164.25 U86(active(x0)) 460.36/164.25 U91(mark(x0), x1, x2) 460.36/164.25 U91(x0, mark(x1), x2) 460.36/164.25 U91(x0, x1, mark(x2)) 460.36/164.25 U91(active(x0), x1, x2) 460.36/164.25 U91(x0, active(x1), x2) 460.36/164.25 U91(x0, x1, active(x2)) 460.36/164.25 U92(mark(x0), x1, x2) 460.36/164.25 U92(x0, mark(x1), x2) 460.36/164.25 U92(x0, x1, mark(x2)) 460.36/164.25 U92(active(x0), x1, x2) 460.36/164.25 U92(x0, active(x1), x2) 460.36/164.25 U92(x0, x1, active(x2)) 460.36/164.25 U93(mark(x0), x1, x2) 460.36/164.25 U93(x0, mark(x1), x2) 460.36/164.25 U93(x0, x1, mark(x2)) 460.36/164.25 U93(active(x0), x1, x2) 460.36/164.25 U93(x0, active(x1), x2) 460.36/164.25 U93(x0, x1, active(x2)) 460.36/164.25 U94(mark(x0), x1) 460.36/164.25 U94(x0, mark(x1)) 460.36/164.25 U94(active(x0), x1) 460.36/164.25 U94(x0, active(x1)) 460.36/164.25 s(mark(x0)) 460.36/164.25 s(active(x0)) 460.36/164.25 length(mark(x0)) 460.36/164.25 length(active(x0)) 460.36/164.25 460.36/164.25 We have to consider all minimal (P,Q,R)-chains. 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (303) QDPOrderProof (EQUIVALENT) 460.36/164.25 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.25 460.36/164.25 460.36/164.25 The following pairs can be oriented strictly and are deleted. 460.36/164.25 460.36/164.25 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 460.36/164.25 MARK(U23(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(s(X)) -> MARK(X) 460.36/164.25 The remaining pairs can at least be oriented weakly. 460.36/164.25 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.25 460.36/164.25 POL( ACTIVE_1(x_1) ) = x_1 + 2 460.36/164.25 POL( U21_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 460.36/164.25 POL( U22_2(x_1, x_2) ) = 2x_1 + 2x_2 460.36/164.25 POL( U41_3(x_1, ..., x_3) ) = x_1 460.36/164.25 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.25 POL( U43_3(x_1, ..., x_3) ) = x_1 460.36/164.25 POL( U44_3(x_1, ..., x_3) ) = x_1 460.36/164.25 POL( U45_2(x_1, x_2) ) = 2 460.36/164.25 POL( U51_2(x_1, x_2) ) = x_1 460.36/164.25 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U83_3(x_1, ..., x_3) ) = 0 460.36/164.25 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U91_3(x_1, ..., x_3) ) = x_1 460.36/164.25 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.25 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.25 POL( U94_2(x_1, x_2) ) = 2 460.36/164.25 POL( length_1(x_1) ) = max{0, -2} 460.36/164.25 POL( mark_1(x_1) ) = x_1 460.36/164.25 POL( zeros ) = 0 460.36/164.25 POL( active_1(x_1) ) = x_1 460.36/164.25 POL( cons_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( 0 ) = 2 460.36/164.25 POL( U11_2(x_1, x_2) ) = 2 460.36/164.25 POL( tt ) = 2 460.36/164.25 POL( U12_2(x_1, x_2) ) = 2 460.36/164.25 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.25 POL( U13_1(x_1) ) = 2x_1 + 2 460.36/164.25 POL( isNatList_1(x_1) ) = 0 460.36/164.25 POL( isNatKind_1(x_1) ) = 2 460.36/164.25 POL( U23_1(x_1) ) = x_1 + 2 460.36/164.25 POL( isNat_1(x_1) ) = 2x_1 + 2 460.36/164.25 POL( U31_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U33_1(x_1) ) = x_1 460.36/164.25 POL( U46_1(x_1) ) = x_1 460.36/164.25 POL( isNatIList_1(x_1) ) = 2 460.36/164.25 POL( U52_1(x_1) ) = x_1 460.36/164.25 POL( U86_1(x_1) ) = x_1 460.36/164.25 POL( s_1(x_1) ) = 2x_1 + 2 460.36/164.25 POL( U61_1(x_1) ) = x_1 460.36/164.25 POL( U71_1(x_1) ) = x_1 460.36/164.25 POL( nil ) = 1 460.36/164.25 POL( MARK_1(x_1) ) = x_1 + 2 460.36/164.25 460.36/164.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.25 460.36/164.25 mark(zeros) -> active(zeros) 460.36/164.25 active(zeros) -> mark(cons(0, zeros)) 460.36/164.25 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.25 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.25 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.25 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.25 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.25 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.25 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.25 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.25 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.25 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.25 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.25 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.25 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.25 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.25 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.25 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.25 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.25 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.25 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.25 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.25 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.25 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.25 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.25 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.25 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.25 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.25 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.25 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.25 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.25 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.25 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.25 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.25 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.25 mark(s(X)) -> active(s(mark(X))) 460.36/164.25 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.25 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.25 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.25 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.25 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.25 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.25 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.25 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.25 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.25 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.25 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.25 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.25 mark(0) -> active(0) 460.36/164.25 mark(tt) -> active(tt) 460.36/164.25 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.25 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.25 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.25 mark(isNat(X)) -> active(isNat(X)) 460.36/164.25 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.25 mark(length(X)) -> active(length(mark(X))) 460.36/164.25 mark(nil) -> active(nil) 460.36/164.25 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.25 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.25 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.25 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.25 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.25 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.25 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.25 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.25 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.25 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.25 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.25 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.25 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.25 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.25 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.25 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.25 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.25 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.25 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.25 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.25 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.25 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.25 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.25 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.25 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.25 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.25 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.25 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.25 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.25 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.25 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.25 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.25 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.25 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.25 length(mark(X)) -> length(X) 460.36/164.25 length(active(X)) -> length(X) 460.36/164.25 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.25 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.25 active(U13(tt)) -> mark(tt) 460.36/164.25 active(U23(tt)) -> mark(tt) 460.36/164.25 active(U33(tt)) -> mark(tt) 460.36/164.25 active(U46(tt)) -> mark(tt) 460.36/164.25 active(U52(tt)) -> mark(tt) 460.36/164.25 active(U61(tt)) -> mark(tt) 460.36/164.25 active(U71(tt)) -> mark(tt) 460.36/164.25 active(U86(tt)) -> mark(tt) 460.36/164.25 active(isNat(0)) -> mark(tt) 460.36/164.25 active(isNatIList(zeros)) -> mark(tt) 460.36/164.25 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.25 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.25 active(isNatKind(0)) -> mark(tt) 460.36/164.25 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.25 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.25 U13(mark(X)) -> U13(X) 460.36/164.25 U13(active(X)) -> U13(X) 460.36/164.25 U23(mark(X)) -> U23(X) 460.36/164.25 U23(active(X)) -> U23(X) 460.36/164.25 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.25 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.25 U33(mark(X)) -> U33(X) 460.36/164.25 U33(active(X)) -> U33(X) 460.36/164.25 U46(mark(X)) -> U46(X) 460.36/164.25 U46(active(X)) -> U46(X) 460.36/164.25 U52(mark(X)) -> U52(X) 460.36/164.25 U52(active(X)) -> U52(X) 460.36/164.25 U86(mark(X)) -> U86(X) 460.36/164.25 U86(active(X)) -> U86(X) 460.36/164.25 s(mark(X)) -> s(X) 460.36/164.25 s(active(X)) -> s(X) 460.36/164.25 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.25 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.25 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.25 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.25 U61(mark(X)) -> U61(X) 460.36/164.25 U61(active(X)) -> U61(X) 460.36/164.25 U71(mark(X)) -> U71(X) 460.36/164.25 U71(active(X)) -> U71(X) 460.36/164.25 460.36/164.25 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (304) 460.36/164.25 Obligation: 460.36/164.25 Q DP problem: 460.36/164.25 The TRS P consists of the following rules: 460.36/164.25 460.36/164.25 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.25 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.25 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 460.36/164.25 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.25 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.25 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.25 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.25 MARK(U46(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.25 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.25 MARK(U52(X)) -> MARK(X) 460.36/164.25 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.25 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.25 MARK(U61(X)) -> MARK(X) 460.36/164.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.25 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.25 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.25 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.25 MARK(U86(X)) -> MARK(X) 460.36/164.25 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.25 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(U71(X)) -> MARK(X) 460.36/164.25 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.25 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.25 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.25 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.25 ACTIVE(U94(tt, L)) -> MARK(s(length(L))) 460.36/164.25 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.25 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.25 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.25 460.36/164.25 The TRS R consists of the following rules: 460.36/164.25 460.36/164.25 mark(zeros) -> active(zeros) 460.36/164.25 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.25 active(zeros) -> mark(cons(0, zeros)) 460.36/164.25 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.25 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.25 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.25 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.25 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.25 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.25 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.25 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.25 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.25 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.25 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.25 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.25 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.25 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.25 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.25 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.25 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.25 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.25 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.25 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.25 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.25 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.25 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.25 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.25 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.25 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.25 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.25 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.25 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.25 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.25 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.25 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.25 mark(s(X)) -> active(s(mark(X))) 460.36/164.25 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.25 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.25 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.25 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.25 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.25 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.25 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.25 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.25 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.25 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.25 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.25 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.25 mark(0) -> active(0) 460.36/164.25 mark(tt) -> active(tt) 460.36/164.25 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.25 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.25 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.25 mark(isNat(X)) -> active(isNat(X)) 460.36/164.25 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.25 mark(length(X)) -> active(length(mark(X))) 460.36/164.25 mark(nil) -> active(nil) 460.36/164.25 length(active(X)) -> length(X) 460.36/164.25 length(mark(X)) -> length(X) 460.36/164.25 active(U13(tt)) -> mark(tt) 460.36/164.25 active(U23(tt)) -> mark(tt) 460.36/164.25 active(U33(tt)) -> mark(tt) 460.36/164.25 active(U46(tt)) -> mark(tt) 460.36/164.25 active(U52(tt)) -> mark(tt) 460.36/164.25 active(U61(tt)) -> mark(tt) 460.36/164.25 active(U71(tt)) -> mark(tt) 460.36/164.25 active(U86(tt)) -> mark(tt) 460.36/164.25 active(isNat(0)) -> mark(tt) 460.36/164.25 active(isNatIList(zeros)) -> mark(tt) 460.36/164.25 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.25 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.25 active(isNatKind(0)) -> mark(tt) 460.36/164.25 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.25 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.25 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.25 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.25 U13(active(X)) -> U13(X) 460.36/164.25 U13(mark(X)) -> U13(X) 460.36/164.25 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.25 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.25 U23(active(X)) -> U23(X) 460.36/164.25 U23(mark(X)) -> U23(X) 460.36/164.25 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.25 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.25 U33(active(X)) -> U33(X) 460.36/164.25 U33(mark(X)) -> U33(X) 460.36/164.25 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.25 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.25 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.25 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.25 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.25 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.25 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.25 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.25 U46(active(X)) -> U46(X) 460.36/164.25 U46(mark(X)) -> U46(X) 460.36/164.25 U52(active(X)) -> U52(X) 460.36/164.25 U52(mark(X)) -> U52(X) 460.36/164.25 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.25 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.25 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.25 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.25 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.25 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.25 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.25 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.25 U86(active(X)) -> U86(X) 460.36/164.25 U86(mark(X)) -> U86(X) 460.36/164.25 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.25 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.25 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.25 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.25 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.25 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.25 s(active(X)) -> s(X) 460.36/164.25 s(mark(X)) -> s(X) 460.36/164.25 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.25 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.25 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.25 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.25 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.25 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.25 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.25 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.25 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.25 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.25 U61(active(X)) -> U61(X) 460.36/164.25 U61(mark(X)) -> U61(X) 460.36/164.25 U71(active(X)) -> U71(X) 460.36/164.25 U71(mark(X)) -> U71(X) 460.36/164.25 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.25 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.25 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.25 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.25 460.36/164.25 The set Q consists of the following terms: 460.36/164.25 460.36/164.25 active(zeros) 460.36/164.25 active(U11(tt, x0)) 460.36/164.25 active(U12(tt, x0)) 460.36/164.25 active(U13(tt)) 460.36/164.25 active(U21(tt, x0)) 460.36/164.25 active(U22(tt, x0)) 460.36/164.25 active(U23(tt)) 460.36/164.25 active(U31(tt, x0)) 460.36/164.25 active(U32(tt, x0)) 460.36/164.25 active(U33(tt)) 460.36/164.25 active(U41(tt, x0, x1)) 460.36/164.25 active(U42(tt, x0, x1)) 460.36/164.25 active(U43(tt, x0, x1)) 460.36/164.25 active(U44(tt, x0, x1)) 460.36/164.25 active(U45(tt, x0)) 460.36/164.25 active(U46(tt)) 460.36/164.25 active(U51(tt, x0)) 460.36/164.25 active(U52(tt)) 460.36/164.25 active(U61(tt)) 460.36/164.25 active(U71(tt)) 460.36/164.25 active(U81(tt, x0, x1)) 460.36/164.25 active(U82(tt, x0, x1)) 460.36/164.25 active(U83(tt, x0, x1)) 460.36/164.25 active(U84(tt, x0, x1)) 460.36/164.25 active(U85(tt, x0)) 460.36/164.25 active(U86(tt)) 460.36/164.25 active(U91(tt, x0, x1)) 460.36/164.25 active(U92(tt, x0, x1)) 460.36/164.25 active(U93(tt, x0, x1)) 460.36/164.25 active(U94(tt, x0)) 460.36/164.25 active(isNat(0)) 460.36/164.25 active(isNat(length(x0))) 460.36/164.25 active(isNat(s(x0))) 460.36/164.25 active(isNatIList(x0)) 460.36/164.25 active(isNatIListKind(nil)) 460.36/164.25 active(isNatIListKind(zeros)) 460.36/164.25 active(isNatIListKind(cons(x0, x1))) 460.36/164.25 active(isNatKind(0)) 460.36/164.25 active(isNatKind(length(x0))) 460.36/164.25 active(isNatKind(s(x0))) 460.36/164.25 active(isNatList(nil)) 460.36/164.25 active(isNatList(cons(x0, x1))) 460.36/164.25 active(length(nil)) 460.36/164.25 active(length(cons(x0, x1))) 460.36/164.25 mark(zeros) 460.36/164.25 mark(cons(x0, x1)) 460.36/164.25 mark(0) 460.36/164.25 mark(U11(x0, x1)) 460.36/164.25 mark(tt) 460.36/164.25 mark(U12(x0, x1)) 460.36/164.25 mark(isNatIListKind(x0)) 460.36/164.25 mark(U13(x0)) 460.36/164.25 mark(isNatList(x0)) 460.36/164.25 mark(U21(x0, x1)) 460.36/164.25 mark(U22(x0, x1)) 460.36/164.25 mark(isNatKind(x0)) 460.36/164.25 mark(U23(x0)) 460.36/164.25 mark(isNat(x0)) 460.36/164.25 mark(U31(x0, x1)) 460.36/164.25 mark(U32(x0, x1)) 460.36/164.25 mark(U33(x0)) 460.36/164.25 mark(U41(x0, x1, x2)) 460.36/164.25 mark(U42(x0, x1, x2)) 460.36/164.25 mark(U43(x0, x1, x2)) 460.36/164.25 mark(U44(x0, x1, x2)) 460.36/164.25 mark(U45(x0, x1)) 460.36/164.25 mark(U46(x0)) 460.36/164.25 mark(isNatIList(x0)) 460.36/164.25 mark(U51(x0, x1)) 460.36/164.25 mark(U52(x0)) 460.36/164.25 mark(U61(x0)) 460.36/164.25 mark(U71(x0)) 460.36/164.25 mark(U81(x0, x1, x2)) 460.36/164.25 mark(U82(x0, x1, x2)) 460.36/164.25 mark(U83(x0, x1, x2)) 460.36/164.25 mark(U84(x0, x1, x2)) 460.36/164.25 mark(U85(x0, x1)) 460.36/164.25 mark(U86(x0)) 460.36/164.25 mark(U91(x0, x1, x2)) 460.36/164.25 mark(U92(x0, x1, x2)) 460.36/164.25 mark(U93(x0, x1, x2)) 460.36/164.25 mark(U94(x0, x1)) 460.36/164.25 mark(s(x0)) 460.36/164.25 mark(length(x0)) 460.36/164.25 mark(nil) 460.36/164.25 cons(mark(x0), x1) 460.36/164.25 cons(x0, mark(x1)) 460.36/164.25 cons(active(x0), x1) 460.36/164.25 cons(x0, active(x1)) 460.36/164.25 U11(mark(x0), x1) 460.36/164.25 U11(x0, mark(x1)) 460.36/164.25 U11(active(x0), x1) 460.36/164.25 U11(x0, active(x1)) 460.36/164.25 U12(mark(x0), x1) 460.36/164.25 U12(x0, mark(x1)) 460.36/164.25 U12(active(x0), x1) 460.36/164.25 U12(x0, active(x1)) 460.36/164.25 isNatIListKind(mark(x0)) 460.36/164.25 isNatIListKind(active(x0)) 460.36/164.25 U13(mark(x0)) 460.36/164.25 U13(active(x0)) 460.36/164.25 isNatList(mark(x0)) 460.36/164.25 isNatList(active(x0)) 460.36/164.25 U21(mark(x0), x1) 460.36/164.25 U21(x0, mark(x1)) 460.36/164.25 U21(active(x0), x1) 460.36/164.25 U21(x0, active(x1)) 460.36/164.25 U22(mark(x0), x1) 460.36/164.25 U22(x0, mark(x1)) 460.36/164.25 U22(active(x0), x1) 460.36/164.25 U22(x0, active(x1)) 460.36/164.25 isNatKind(mark(x0)) 460.36/164.25 isNatKind(active(x0)) 460.36/164.25 U23(mark(x0)) 460.36/164.25 U23(active(x0)) 460.36/164.25 isNat(mark(x0)) 460.36/164.25 isNat(active(x0)) 460.36/164.25 U31(mark(x0), x1) 460.36/164.25 U31(x0, mark(x1)) 460.36/164.25 U31(active(x0), x1) 460.36/164.25 U31(x0, active(x1)) 460.36/164.25 U32(mark(x0), x1) 460.36/164.25 U32(x0, mark(x1)) 460.36/164.25 U32(active(x0), x1) 460.36/164.25 U32(x0, active(x1)) 460.36/164.25 U33(mark(x0)) 460.36/164.25 U33(active(x0)) 460.36/164.25 U41(mark(x0), x1, x2) 460.36/164.25 U41(x0, mark(x1), x2) 460.36/164.25 U41(x0, x1, mark(x2)) 460.36/164.25 U41(active(x0), x1, x2) 460.36/164.25 U41(x0, active(x1), x2) 460.36/164.25 U41(x0, x1, active(x2)) 460.36/164.25 U42(mark(x0), x1, x2) 460.36/164.25 U42(x0, mark(x1), x2) 460.36/164.25 U42(x0, x1, mark(x2)) 460.36/164.25 U42(active(x0), x1, x2) 460.36/164.25 U42(x0, active(x1), x2) 460.36/164.25 U42(x0, x1, active(x2)) 460.36/164.25 U43(mark(x0), x1, x2) 460.36/164.25 U43(x0, mark(x1), x2) 460.36/164.25 U43(x0, x1, mark(x2)) 460.36/164.25 U43(active(x0), x1, x2) 460.36/164.25 U43(x0, active(x1), x2) 460.36/164.25 U43(x0, x1, active(x2)) 460.36/164.25 U44(mark(x0), x1, x2) 460.36/164.25 U44(x0, mark(x1), x2) 460.36/164.25 U44(x0, x1, mark(x2)) 460.36/164.25 U44(active(x0), x1, x2) 460.36/164.25 U44(x0, active(x1), x2) 460.36/164.25 U44(x0, x1, active(x2)) 460.36/164.25 U45(mark(x0), x1) 460.36/164.25 U45(x0, mark(x1)) 460.36/164.25 U45(active(x0), x1) 460.36/164.25 U45(x0, active(x1)) 460.36/164.25 U46(mark(x0)) 460.36/164.25 U46(active(x0)) 460.36/164.25 isNatIList(mark(x0)) 460.36/164.25 isNatIList(active(x0)) 460.36/164.25 U51(mark(x0), x1) 460.36/164.25 U51(x0, mark(x1)) 460.36/164.25 U51(active(x0), x1) 460.36/164.25 U51(x0, active(x1)) 460.36/164.25 U52(mark(x0)) 460.36/164.25 U52(active(x0)) 460.36/164.25 U61(mark(x0)) 460.36/164.25 U61(active(x0)) 460.36/164.25 U71(mark(x0)) 460.36/164.25 U71(active(x0)) 460.36/164.25 U81(mark(x0), x1, x2) 460.36/164.25 U81(x0, mark(x1), x2) 460.36/164.25 U81(x0, x1, mark(x2)) 460.36/164.25 U81(active(x0), x1, x2) 460.36/164.25 U81(x0, active(x1), x2) 460.36/164.25 U81(x0, x1, active(x2)) 460.36/164.25 U82(mark(x0), x1, x2) 460.36/164.25 U82(x0, mark(x1), x2) 460.36/164.25 U82(x0, x1, mark(x2)) 460.36/164.25 U82(active(x0), x1, x2) 460.36/164.25 U82(x0, active(x1), x2) 460.36/164.25 U82(x0, x1, active(x2)) 460.36/164.25 U83(mark(x0), x1, x2) 460.36/164.25 U83(x0, mark(x1), x2) 460.36/164.25 U83(x0, x1, mark(x2)) 460.36/164.25 U83(active(x0), x1, x2) 460.36/164.25 U83(x0, active(x1), x2) 460.36/164.25 U83(x0, x1, active(x2)) 460.36/164.25 U84(mark(x0), x1, x2) 460.36/164.25 U84(x0, mark(x1), x2) 460.36/164.25 U84(x0, x1, mark(x2)) 460.36/164.25 U84(active(x0), x1, x2) 460.36/164.25 U84(x0, active(x1), x2) 460.36/164.25 U84(x0, x1, active(x2)) 460.36/164.25 U85(mark(x0), x1) 460.36/164.25 U85(x0, mark(x1)) 460.36/164.25 U85(active(x0), x1) 460.36/164.25 U85(x0, active(x1)) 460.36/164.25 U86(mark(x0)) 460.36/164.25 U86(active(x0)) 460.36/164.25 U91(mark(x0), x1, x2) 460.36/164.25 U91(x0, mark(x1), x2) 460.36/164.25 U91(x0, x1, mark(x2)) 460.36/164.25 U91(active(x0), x1, x2) 460.36/164.25 U91(x0, active(x1), x2) 460.36/164.25 U91(x0, x1, active(x2)) 460.36/164.25 U92(mark(x0), x1, x2) 460.36/164.25 U92(x0, mark(x1), x2) 460.36/164.25 U92(x0, x1, mark(x2)) 460.36/164.25 U92(active(x0), x1, x2) 460.36/164.25 U92(x0, active(x1), x2) 460.36/164.25 U92(x0, x1, active(x2)) 460.36/164.25 U93(mark(x0), x1, x2) 460.36/164.25 U93(x0, mark(x1), x2) 460.36/164.25 U93(x0, x1, mark(x2)) 460.36/164.25 U93(active(x0), x1, x2) 460.36/164.25 U93(x0, active(x1), x2) 460.36/164.25 U93(x0, x1, active(x2)) 460.36/164.25 U94(mark(x0), x1) 460.36/164.25 U94(x0, mark(x1)) 460.36/164.25 U94(active(x0), x1) 460.36/164.25 U94(x0, active(x1)) 460.36/164.25 s(mark(x0)) 460.36/164.25 s(active(x0)) 460.36/164.25 length(mark(x0)) 460.36/164.25 length(active(x0)) 460.36/164.25 460.36/164.25 We have to consider all minimal (P,Q,R)-chains. 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (305) DependencyGraphProof (EQUIVALENT) 460.36/164.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (306) 460.36/164.25 Obligation: 460.36/164.25 Q DP problem: 460.36/164.25 The TRS P consists of the following rules: 460.36/164.25 460.36/164.25 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.25 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.25 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.25 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.25 MARK(U46(X)) -> MARK(X) 460.36/164.25 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.25 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.25 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.25 MARK(U52(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.25 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.25 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.25 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.25 MARK(U86(X)) -> MARK(X) 460.36/164.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.25 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.25 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.25 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.25 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.25 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.25 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.25 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.25 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.25 MARK(U61(X)) -> MARK(X) 460.36/164.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.25 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.25 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.25 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(U71(X)) -> MARK(X) 460.36/164.25 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.25 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.25 460.36/164.25 The TRS R consists of the following rules: 460.36/164.25 460.36/164.25 mark(zeros) -> active(zeros) 460.36/164.25 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.25 active(zeros) -> mark(cons(0, zeros)) 460.36/164.25 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.25 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.25 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.25 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.25 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.25 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.25 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.25 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.25 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.25 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.25 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.25 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.25 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.25 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.25 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.25 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.25 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.25 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.25 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.25 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.25 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.25 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.25 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.25 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.25 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.25 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.25 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.25 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.25 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.25 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.25 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.25 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.25 mark(s(X)) -> active(s(mark(X))) 460.36/164.25 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.25 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.25 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.25 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.25 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.25 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.25 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.25 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.25 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.25 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.25 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.25 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.25 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.25 mark(0) -> active(0) 460.36/164.25 mark(tt) -> active(tt) 460.36/164.25 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.25 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.25 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.25 mark(isNat(X)) -> active(isNat(X)) 460.36/164.25 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.25 mark(length(X)) -> active(length(mark(X))) 460.36/164.25 mark(nil) -> active(nil) 460.36/164.25 length(active(X)) -> length(X) 460.36/164.25 length(mark(X)) -> length(X) 460.36/164.25 active(U13(tt)) -> mark(tt) 460.36/164.25 active(U23(tt)) -> mark(tt) 460.36/164.25 active(U33(tt)) -> mark(tt) 460.36/164.25 active(U46(tt)) -> mark(tt) 460.36/164.25 active(U52(tt)) -> mark(tt) 460.36/164.25 active(U61(tt)) -> mark(tt) 460.36/164.25 active(U71(tt)) -> mark(tt) 460.36/164.25 active(U86(tt)) -> mark(tt) 460.36/164.25 active(isNat(0)) -> mark(tt) 460.36/164.25 active(isNatIList(zeros)) -> mark(tt) 460.36/164.25 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.25 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.25 active(isNatKind(0)) -> mark(tt) 460.36/164.25 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.25 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.25 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.25 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.25 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.25 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.25 U13(active(X)) -> U13(X) 460.36/164.25 U13(mark(X)) -> U13(X) 460.36/164.25 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.25 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.25 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.25 U23(active(X)) -> U23(X) 460.36/164.25 U23(mark(X)) -> U23(X) 460.36/164.25 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.25 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.25 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.25 U33(active(X)) -> U33(X) 460.36/164.25 U33(mark(X)) -> U33(X) 460.36/164.25 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.25 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.25 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.25 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.25 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.25 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.25 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.25 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.25 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.25 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.25 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.25 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.25 U46(active(X)) -> U46(X) 460.36/164.25 U46(mark(X)) -> U46(X) 460.36/164.25 U52(active(X)) -> U52(X) 460.36/164.25 U52(mark(X)) -> U52(X) 460.36/164.25 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.25 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.25 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.25 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.25 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.25 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.25 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.25 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.25 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.25 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.25 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.25 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.25 U86(active(X)) -> U86(X) 460.36/164.25 U86(mark(X)) -> U86(X) 460.36/164.25 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.25 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.25 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.25 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.25 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.25 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.25 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.25 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.25 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.25 s(active(X)) -> s(X) 460.36/164.25 s(mark(X)) -> s(X) 460.36/164.25 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.25 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.25 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.25 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.25 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.25 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.25 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.25 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.25 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.25 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.25 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.25 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.25 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.25 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.25 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.25 U61(active(X)) -> U61(X) 460.36/164.25 U61(mark(X)) -> U61(X) 460.36/164.25 U71(active(X)) -> U71(X) 460.36/164.25 U71(mark(X)) -> U71(X) 460.36/164.25 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.25 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.25 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.25 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.25 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.25 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.25 460.36/164.25 The set Q consists of the following terms: 460.36/164.25 460.36/164.25 active(zeros) 460.36/164.25 active(U11(tt, x0)) 460.36/164.25 active(U12(tt, x0)) 460.36/164.25 active(U13(tt)) 460.36/164.25 active(U21(tt, x0)) 460.36/164.25 active(U22(tt, x0)) 460.36/164.25 active(U23(tt)) 460.36/164.25 active(U31(tt, x0)) 460.36/164.25 active(U32(tt, x0)) 460.36/164.25 active(U33(tt)) 460.36/164.25 active(U41(tt, x0, x1)) 460.36/164.25 active(U42(tt, x0, x1)) 460.36/164.25 active(U43(tt, x0, x1)) 460.36/164.25 active(U44(tt, x0, x1)) 460.36/164.25 active(U45(tt, x0)) 460.36/164.25 active(U46(tt)) 460.36/164.25 active(U51(tt, x0)) 460.36/164.25 active(U52(tt)) 460.36/164.25 active(U61(tt)) 460.36/164.25 active(U71(tt)) 460.36/164.25 active(U81(tt, x0, x1)) 460.36/164.25 active(U82(tt, x0, x1)) 460.36/164.25 active(U83(tt, x0, x1)) 460.36/164.25 active(U84(tt, x0, x1)) 460.36/164.25 active(U85(tt, x0)) 460.36/164.25 active(U86(tt)) 460.36/164.25 active(U91(tt, x0, x1)) 460.36/164.25 active(U92(tt, x0, x1)) 460.36/164.25 active(U93(tt, x0, x1)) 460.36/164.25 active(U94(tt, x0)) 460.36/164.25 active(isNat(0)) 460.36/164.25 active(isNat(length(x0))) 460.36/164.25 active(isNat(s(x0))) 460.36/164.25 active(isNatIList(x0)) 460.36/164.25 active(isNatIListKind(nil)) 460.36/164.25 active(isNatIListKind(zeros)) 460.36/164.25 active(isNatIListKind(cons(x0, x1))) 460.36/164.25 active(isNatKind(0)) 460.36/164.25 active(isNatKind(length(x0))) 460.36/164.25 active(isNatKind(s(x0))) 460.36/164.25 active(isNatList(nil)) 460.36/164.25 active(isNatList(cons(x0, x1))) 460.36/164.25 active(length(nil)) 460.36/164.25 active(length(cons(x0, x1))) 460.36/164.25 mark(zeros) 460.36/164.25 mark(cons(x0, x1)) 460.36/164.25 mark(0) 460.36/164.25 mark(U11(x0, x1)) 460.36/164.25 mark(tt) 460.36/164.25 mark(U12(x0, x1)) 460.36/164.25 mark(isNatIListKind(x0)) 460.36/164.25 mark(U13(x0)) 460.36/164.25 mark(isNatList(x0)) 460.36/164.25 mark(U21(x0, x1)) 460.36/164.25 mark(U22(x0, x1)) 460.36/164.25 mark(isNatKind(x0)) 460.36/164.25 mark(U23(x0)) 460.36/164.25 mark(isNat(x0)) 460.36/164.25 mark(U31(x0, x1)) 460.36/164.25 mark(U32(x0, x1)) 460.36/164.25 mark(U33(x0)) 460.36/164.25 mark(U41(x0, x1, x2)) 460.36/164.25 mark(U42(x0, x1, x2)) 460.36/164.25 mark(U43(x0, x1, x2)) 460.36/164.25 mark(U44(x0, x1, x2)) 460.36/164.25 mark(U45(x0, x1)) 460.36/164.25 mark(U46(x0)) 460.36/164.25 mark(isNatIList(x0)) 460.36/164.25 mark(U51(x0, x1)) 460.36/164.25 mark(U52(x0)) 460.36/164.25 mark(U61(x0)) 460.36/164.25 mark(U71(x0)) 460.36/164.25 mark(U81(x0, x1, x2)) 460.36/164.25 mark(U82(x0, x1, x2)) 460.36/164.25 mark(U83(x0, x1, x2)) 460.36/164.25 mark(U84(x0, x1, x2)) 460.36/164.25 mark(U85(x0, x1)) 460.36/164.25 mark(U86(x0)) 460.36/164.25 mark(U91(x0, x1, x2)) 460.36/164.25 mark(U92(x0, x1, x2)) 460.36/164.25 mark(U93(x0, x1, x2)) 460.36/164.25 mark(U94(x0, x1)) 460.36/164.25 mark(s(x0)) 460.36/164.25 mark(length(x0)) 460.36/164.25 mark(nil) 460.36/164.25 cons(mark(x0), x1) 460.36/164.25 cons(x0, mark(x1)) 460.36/164.25 cons(active(x0), x1) 460.36/164.25 cons(x0, active(x1)) 460.36/164.25 U11(mark(x0), x1) 460.36/164.25 U11(x0, mark(x1)) 460.36/164.25 U11(active(x0), x1) 460.36/164.25 U11(x0, active(x1)) 460.36/164.25 U12(mark(x0), x1) 460.36/164.25 U12(x0, mark(x1)) 460.36/164.25 U12(active(x0), x1) 460.36/164.25 U12(x0, active(x1)) 460.36/164.25 isNatIListKind(mark(x0)) 460.36/164.25 isNatIListKind(active(x0)) 460.36/164.25 U13(mark(x0)) 460.36/164.25 U13(active(x0)) 460.36/164.25 isNatList(mark(x0)) 460.36/164.25 isNatList(active(x0)) 460.36/164.25 U21(mark(x0), x1) 460.36/164.25 U21(x0, mark(x1)) 460.36/164.25 U21(active(x0), x1) 460.36/164.25 U21(x0, active(x1)) 460.36/164.25 U22(mark(x0), x1) 460.36/164.25 U22(x0, mark(x1)) 460.36/164.25 U22(active(x0), x1) 460.36/164.25 U22(x0, active(x1)) 460.36/164.25 isNatKind(mark(x0)) 460.36/164.25 isNatKind(active(x0)) 460.36/164.25 U23(mark(x0)) 460.36/164.25 U23(active(x0)) 460.36/164.25 isNat(mark(x0)) 460.36/164.25 isNat(active(x0)) 460.36/164.25 U31(mark(x0), x1) 460.36/164.25 U31(x0, mark(x1)) 460.36/164.25 U31(active(x0), x1) 460.36/164.25 U31(x0, active(x1)) 460.36/164.25 U32(mark(x0), x1) 460.36/164.25 U32(x0, mark(x1)) 460.36/164.25 U32(active(x0), x1) 460.36/164.25 U32(x0, active(x1)) 460.36/164.25 U33(mark(x0)) 460.36/164.25 U33(active(x0)) 460.36/164.25 U41(mark(x0), x1, x2) 460.36/164.25 U41(x0, mark(x1), x2) 460.36/164.25 U41(x0, x1, mark(x2)) 460.36/164.25 U41(active(x0), x1, x2) 460.36/164.25 U41(x0, active(x1), x2) 460.36/164.25 U41(x0, x1, active(x2)) 460.36/164.25 U42(mark(x0), x1, x2) 460.36/164.25 U42(x0, mark(x1), x2) 460.36/164.25 U42(x0, x1, mark(x2)) 460.36/164.25 U42(active(x0), x1, x2) 460.36/164.25 U42(x0, active(x1), x2) 460.36/164.25 U42(x0, x1, active(x2)) 460.36/164.25 U43(mark(x0), x1, x2) 460.36/164.25 U43(x0, mark(x1), x2) 460.36/164.25 U43(x0, x1, mark(x2)) 460.36/164.25 U43(active(x0), x1, x2) 460.36/164.25 U43(x0, active(x1), x2) 460.36/164.25 U43(x0, x1, active(x2)) 460.36/164.25 U44(mark(x0), x1, x2) 460.36/164.25 U44(x0, mark(x1), x2) 460.36/164.25 U44(x0, x1, mark(x2)) 460.36/164.25 U44(active(x0), x1, x2) 460.36/164.25 U44(x0, active(x1), x2) 460.36/164.25 U44(x0, x1, active(x2)) 460.36/164.25 U45(mark(x0), x1) 460.36/164.25 U45(x0, mark(x1)) 460.36/164.25 U45(active(x0), x1) 460.36/164.25 U45(x0, active(x1)) 460.36/164.25 U46(mark(x0)) 460.36/164.25 U46(active(x0)) 460.36/164.25 isNatIList(mark(x0)) 460.36/164.25 isNatIList(active(x0)) 460.36/164.25 U51(mark(x0), x1) 460.36/164.25 U51(x0, mark(x1)) 460.36/164.25 U51(active(x0), x1) 460.36/164.25 U51(x0, active(x1)) 460.36/164.25 U52(mark(x0)) 460.36/164.25 U52(active(x0)) 460.36/164.25 U61(mark(x0)) 460.36/164.25 U61(active(x0)) 460.36/164.25 U71(mark(x0)) 460.36/164.25 U71(active(x0)) 460.36/164.25 U81(mark(x0), x1, x2) 460.36/164.25 U81(x0, mark(x1), x2) 460.36/164.25 U81(x0, x1, mark(x2)) 460.36/164.25 U81(active(x0), x1, x2) 460.36/164.25 U81(x0, active(x1), x2) 460.36/164.25 U81(x0, x1, active(x2)) 460.36/164.25 U82(mark(x0), x1, x2) 460.36/164.25 U82(x0, mark(x1), x2) 460.36/164.25 U82(x0, x1, mark(x2)) 460.36/164.25 U82(active(x0), x1, x2) 460.36/164.25 U82(x0, active(x1), x2) 460.36/164.25 U82(x0, x1, active(x2)) 460.36/164.25 U83(mark(x0), x1, x2) 460.36/164.25 U83(x0, mark(x1), x2) 460.36/164.25 U83(x0, x1, mark(x2)) 460.36/164.25 U83(active(x0), x1, x2) 460.36/164.25 U83(x0, active(x1), x2) 460.36/164.25 U83(x0, x1, active(x2)) 460.36/164.25 U84(mark(x0), x1, x2) 460.36/164.25 U84(x0, mark(x1), x2) 460.36/164.25 U84(x0, x1, mark(x2)) 460.36/164.25 U84(active(x0), x1, x2) 460.36/164.25 U84(x0, active(x1), x2) 460.36/164.25 U84(x0, x1, active(x2)) 460.36/164.25 U85(mark(x0), x1) 460.36/164.25 U85(x0, mark(x1)) 460.36/164.25 U85(active(x0), x1) 460.36/164.25 U85(x0, active(x1)) 460.36/164.25 U86(mark(x0)) 460.36/164.25 U86(active(x0)) 460.36/164.25 U91(mark(x0), x1, x2) 460.36/164.25 U91(x0, mark(x1), x2) 460.36/164.25 U91(x0, x1, mark(x2)) 460.36/164.25 U91(active(x0), x1, x2) 460.36/164.25 U91(x0, active(x1), x2) 460.36/164.25 U91(x0, x1, active(x2)) 460.36/164.25 U92(mark(x0), x1, x2) 460.36/164.25 U92(x0, mark(x1), x2) 460.36/164.25 U92(x0, x1, mark(x2)) 460.36/164.25 U92(active(x0), x1, x2) 460.36/164.25 U92(x0, active(x1), x2) 460.36/164.25 U92(x0, x1, active(x2)) 460.36/164.25 U93(mark(x0), x1, x2) 460.36/164.25 U93(x0, mark(x1), x2) 460.36/164.25 U93(x0, x1, mark(x2)) 460.36/164.25 U93(active(x0), x1, x2) 460.36/164.25 U93(x0, active(x1), x2) 460.36/164.25 U93(x0, x1, active(x2)) 460.36/164.25 U94(mark(x0), x1) 460.36/164.25 U94(x0, mark(x1)) 460.36/164.25 U94(active(x0), x1) 460.36/164.25 U94(x0, active(x1)) 460.36/164.25 s(mark(x0)) 460.36/164.25 s(active(x0)) 460.36/164.25 length(mark(x0)) 460.36/164.25 length(active(x0)) 460.36/164.25 460.36/164.25 We have to consider all minimal (P,Q,R)-chains. 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (307) QDPOrderProof (EQUIVALENT) 460.36/164.25 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.25 460.36/164.25 460.36/164.25 The following pairs can be oriented strictly and are deleted. 460.36/164.25 460.36/164.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 460.36/164.25 MARK(U22(X1, X2)) -> MARK(X1) 460.36/164.25 MARK(length(X)) -> ACTIVE(length(mark(X))) 460.36/164.25 The remaining pairs can at least be oriented weakly. 460.36/164.25 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.25 460.36/164.25 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.25 POL( U21_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U22_2(x_1, x_2) ) = x_1 + 2 460.36/164.25 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.25 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U44_3(x_1, ..., x_3) ) = 1 460.36/164.25 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.25 POL( U81_3(x_1, ..., x_3) ) = 1 460.36/164.25 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U83_3(x_1, ..., x_3) ) = 0 460.36/164.25 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.25 POL( U91_3(x_1, ..., x_3) ) = 1 460.36/164.25 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.25 POL( U94_2(x_1, x_2) ) = 0 460.36/164.25 POL( length_1(x_1) ) = 2 460.36/164.25 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.25 POL( zeros ) = 0 460.36/164.25 POL( active_1(x_1) ) = max{0, x_1 - 1} 460.36/164.25 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.25 POL( 0 ) = 2 460.36/164.25 POL( U11_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 460.36/164.25 POL( tt ) = 0 460.36/164.25 POL( U12_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.25 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.25 POL( U13_1(x_1) ) = 2 460.36/164.25 POL( isNatList_1(x_1) ) = 0 460.36/164.25 POL( isNatKind_1(x_1) ) = 0 460.36/164.25 POL( U23_1(x_1) ) = 0 460.36/164.25 POL( isNat_1(x_1) ) = 0 460.36/164.25 POL( U31_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.25 POL( U32_2(x_1, x_2) ) = 2 460.36/164.25 POL( U33_1(x_1) ) = 0 460.36/164.25 POL( U46_1(x_1) ) = x_1 + 1 460.36/164.25 POL( isNatIList_1(x_1) ) = 0 460.36/164.25 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.25 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.25 POL( s_1(x_1) ) = x_1 + 2 460.36/164.25 POL( U61_1(x_1) ) = x_1 + 1 460.36/164.25 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.25 POL( nil ) = 0 460.36/164.25 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.25 460.36/164.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.25 none 460.36/164.25 460.36/164.25 460.36/164.25 ---------------------------------------- 460.36/164.25 460.36/164.25 (308) 460.36/164.25 Obligation: 460.36/164.25 Q DP problem: 460.36/164.25 The TRS P consists of the following rules: 460.36/164.25 460.36/164.25 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.25 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.25 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.25 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.25 MARK(U46(X)) -> MARK(X) 460.36/164.25 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.25 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.25 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.25 MARK(U52(X)) -> MARK(X) 460.36/164.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.25 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.25 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.25 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.25 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.25 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.25 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.26 MARK(U86(X)) -> MARK(X) 460.36/164.26 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.26 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.26 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.26 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.26 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.26 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.26 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.26 MARK(U61(X)) -> MARK(X) 460.36/164.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.26 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.26 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.26 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.26 MARK(U71(X)) -> MARK(X) 460.36/164.26 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.26 460.36/164.26 The TRS R consists of the following rules: 460.36/164.26 460.36/164.26 mark(zeros) -> active(zeros) 460.36/164.26 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.26 active(zeros) -> mark(cons(0, zeros)) 460.36/164.26 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.26 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.26 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.26 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.26 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.26 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.26 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.26 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.26 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.26 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.26 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.26 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.26 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.26 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.26 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.26 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.26 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.26 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.26 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.26 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.26 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.26 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.26 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.26 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.26 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.26 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.26 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.26 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.26 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.26 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.26 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.26 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.26 mark(s(X)) -> active(s(mark(X))) 460.36/164.26 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.26 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.26 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.26 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.26 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.26 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.26 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.26 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.26 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.26 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.26 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.26 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.26 mark(0) -> active(0) 460.36/164.26 mark(tt) -> active(tt) 460.36/164.26 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.26 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.26 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.26 mark(isNat(X)) -> active(isNat(X)) 460.36/164.26 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.26 mark(length(X)) -> active(length(mark(X))) 460.36/164.26 mark(nil) -> active(nil) 460.36/164.26 length(active(X)) -> length(X) 460.36/164.26 length(mark(X)) -> length(X) 460.36/164.26 active(U13(tt)) -> mark(tt) 460.36/164.26 active(U23(tt)) -> mark(tt) 460.36/164.26 active(U33(tt)) -> mark(tt) 460.36/164.26 active(U46(tt)) -> mark(tt) 460.36/164.26 active(U52(tt)) -> mark(tt) 460.36/164.26 active(U61(tt)) -> mark(tt) 460.36/164.26 active(U71(tt)) -> mark(tt) 460.36/164.26 active(U86(tt)) -> mark(tt) 460.36/164.26 active(isNat(0)) -> mark(tt) 460.36/164.26 active(isNatIList(zeros)) -> mark(tt) 460.36/164.26 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.26 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.26 active(isNatKind(0)) -> mark(tt) 460.36/164.26 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.26 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.26 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.26 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.26 U13(active(X)) -> U13(X) 460.36/164.26 U13(mark(X)) -> U13(X) 460.36/164.26 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.26 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.26 U23(active(X)) -> U23(X) 460.36/164.26 U23(mark(X)) -> U23(X) 460.36/164.26 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.26 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.26 U33(active(X)) -> U33(X) 460.36/164.26 U33(mark(X)) -> U33(X) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U46(active(X)) -> U46(X) 460.36/164.26 U46(mark(X)) -> U46(X) 460.36/164.26 U52(active(X)) -> U52(X) 460.36/164.26 U52(mark(X)) -> U52(X) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U86(active(X)) -> U86(X) 460.36/164.26 U86(mark(X)) -> U86(X) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.26 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.26 s(active(X)) -> s(X) 460.36/164.26 s(mark(X)) -> s(X) 460.36/164.26 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.26 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.26 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.26 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.26 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.26 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U61(active(X)) -> U61(X) 460.36/164.26 U61(mark(X)) -> U61(X) 460.36/164.26 U71(active(X)) -> U71(X) 460.36/164.26 U71(mark(X)) -> U71(X) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 460.36/164.26 The set Q consists of the following terms: 460.36/164.26 460.36/164.26 active(zeros) 460.36/164.26 active(U11(tt, x0)) 460.36/164.26 active(U12(tt, x0)) 460.36/164.26 active(U13(tt)) 460.36/164.26 active(U21(tt, x0)) 460.36/164.26 active(U22(tt, x0)) 460.36/164.26 active(U23(tt)) 460.36/164.26 active(U31(tt, x0)) 460.36/164.26 active(U32(tt, x0)) 460.36/164.26 active(U33(tt)) 460.36/164.26 active(U41(tt, x0, x1)) 460.36/164.26 active(U42(tt, x0, x1)) 460.36/164.26 active(U43(tt, x0, x1)) 460.36/164.26 active(U44(tt, x0, x1)) 460.36/164.26 active(U45(tt, x0)) 460.36/164.26 active(U46(tt)) 460.36/164.26 active(U51(tt, x0)) 460.36/164.26 active(U52(tt)) 460.36/164.26 active(U61(tt)) 460.36/164.26 active(U71(tt)) 460.36/164.26 active(U81(tt, x0, x1)) 460.36/164.26 active(U82(tt, x0, x1)) 460.36/164.26 active(U83(tt, x0, x1)) 460.36/164.26 active(U84(tt, x0, x1)) 460.36/164.26 active(U85(tt, x0)) 460.36/164.26 active(U86(tt)) 460.36/164.26 active(U91(tt, x0, x1)) 460.36/164.26 active(U92(tt, x0, x1)) 460.36/164.26 active(U93(tt, x0, x1)) 460.36/164.26 active(U94(tt, x0)) 460.36/164.26 active(isNat(0)) 460.36/164.26 active(isNat(length(x0))) 460.36/164.26 active(isNat(s(x0))) 460.36/164.26 active(isNatIList(x0)) 460.36/164.26 active(isNatIListKind(nil)) 460.36/164.26 active(isNatIListKind(zeros)) 460.36/164.26 active(isNatIListKind(cons(x0, x1))) 460.36/164.26 active(isNatKind(0)) 460.36/164.26 active(isNatKind(length(x0))) 460.36/164.26 active(isNatKind(s(x0))) 460.36/164.26 active(isNatList(nil)) 460.36/164.26 active(isNatList(cons(x0, x1))) 460.36/164.26 active(length(nil)) 460.36/164.26 active(length(cons(x0, x1))) 460.36/164.26 mark(zeros) 460.36/164.26 mark(cons(x0, x1)) 460.36/164.26 mark(0) 460.36/164.26 mark(U11(x0, x1)) 460.36/164.26 mark(tt) 460.36/164.26 mark(U12(x0, x1)) 460.36/164.26 mark(isNatIListKind(x0)) 460.36/164.26 mark(U13(x0)) 460.36/164.26 mark(isNatList(x0)) 460.36/164.26 mark(U21(x0, x1)) 460.36/164.26 mark(U22(x0, x1)) 460.36/164.26 mark(isNatKind(x0)) 460.36/164.26 mark(U23(x0)) 460.36/164.26 mark(isNat(x0)) 460.36/164.26 mark(U31(x0, x1)) 460.36/164.26 mark(U32(x0, x1)) 460.36/164.26 mark(U33(x0)) 460.36/164.26 mark(U41(x0, x1, x2)) 460.36/164.26 mark(U42(x0, x1, x2)) 460.36/164.26 mark(U43(x0, x1, x2)) 460.36/164.26 mark(U44(x0, x1, x2)) 460.36/164.26 mark(U45(x0, x1)) 460.36/164.26 mark(U46(x0)) 460.36/164.26 mark(isNatIList(x0)) 460.36/164.26 mark(U51(x0, x1)) 460.36/164.26 mark(U52(x0)) 460.36/164.26 mark(U61(x0)) 460.36/164.26 mark(U71(x0)) 460.36/164.26 mark(U81(x0, x1, x2)) 460.36/164.26 mark(U82(x0, x1, x2)) 460.36/164.26 mark(U83(x0, x1, x2)) 460.36/164.26 mark(U84(x0, x1, x2)) 460.36/164.26 mark(U85(x0, x1)) 460.36/164.26 mark(U86(x0)) 460.36/164.26 mark(U91(x0, x1, x2)) 460.36/164.26 mark(U92(x0, x1, x2)) 460.36/164.26 mark(U93(x0, x1, x2)) 460.36/164.26 mark(U94(x0, x1)) 460.36/164.26 mark(s(x0)) 460.36/164.26 mark(length(x0)) 460.36/164.26 mark(nil) 460.36/164.26 cons(mark(x0), x1) 460.36/164.26 cons(x0, mark(x1)) 460.36/164.26 cons(active(x0), x1) 460.36/164.26 cons(x0, active(x1)) 460.36/164.26 U11(mark(x0), x1) 460.36/164.26 U11(x0, mark(x1)) 460.36/164.26 U11(active(x0), x1) 460.36/164.26 U11(x0, active(x1)) 460.36/164.26 U12(mark(x0), x1) 460.36/164.26 U12(x0, mark(x1)) 460.36/164.26 U12(active(x0), x1) 460.36/164.26 U12(x0, active(x1)) 460.36/164.26 isNatIListKind(mark(x0)) 460.36/164.26 isNatIListKind(active(x0)) 460.36/164.26 U13(mark(x0)) 460.36/164.26 U13(active(x0)) 460.36/164.26 isNatList(mark(x0)) 460.36/164.26 isNatList(active(x0)) 460.36/164.26 U21(mark(x0), x1) 460.36/164.26 U21(x0, mark(x1)) 460.36/164.26 U21(active(x0), x1) 460.36/164.26 U21(x0, active(x1)) 460.36/164.26 U22(mark(x0), x1) 460.36/164.26 U22(x0, mark(x1)) 460.36/164.26 U22(active(x0), x1) 460.36/164.26 U22(x0, active(x1)) 460.36/164.26 isNatKind(mark(x0)) 460.36/164.26 isNatKind(active(x0)) 460.36/164.26 U23(mark(x0)) 460.36/164.26 U23(active(x0)) 460.36/164.26 isNat(mark(x0)) 460.36/164.26 isNat(active(x0)) 460.36/164.26 U31(mark(x0), x1) 460.36/164.26 U31(x0, mark(x1)) 460.36/164.26 U31(active(x0), x1) 460.36/164.26 U31(x0, active(x1)) 460.36/164.26 U32(mark(x0), x1) 460.36/164.26 U32(x0, mark(x1)) 460.36/164.26 U32(active(x0), x1) 460.36/164.26 U32(x0, active(x1)) 460.36/164.26 U33(mark(x0)) 460.36/164.26 U33(active(x0)) 460.36/164.26 U41(mark(x0), x1, x2) 460.36/164.26 U41(x0, mark(x1), x2) 460.36/164.26 U41(x0, x1, mark(x2)) 460.36/164.26 U41(active(x0), x1, x2) 460.36/164.26 U41(x0, active(x1), x2) 460.36/164.26 U41(x0, x1, active(x2)) 460.36/164.26 U42(mark(x0), x1, x2) 460.36/164.26 U42(x0, mark(x1), x2) 460.36/164.26 U42(x0, x1, mark(x2)) 460.36/164.26 U42(active(x0), x1, x2) 460.36/164.26 U42(x0, active(x1), x2) 460.36/164.26 U42(x0, x1, active(x2)) 460.36/164.26 U43(mark(x0), x1, x2) 460.36/164.26 U43(x0, mark(x1), x2) 460.36/164.26 U43(x0, x1, mark(x2)) 460.36/164.26 U43(active(x0), x1, x2) 460.36/164.26 U43(x0, active(x1), x2) 460.36/164.26 U43(x0, x1, active(x2)) 460.36/164.26 U44(mark(x0), x1, x2) 460.36/164.26 U44(x0, mark(x1), x2) 460.36/164.26 U44(x0, x1, mark(x2)) 460.36/164.26 U44(active(x0), x1, x2) 460.36/164.26 U44(x0, active(x1), x2) 460.36/164.26 U44(x0, x1, active(x2)) 460.36/164.26 U45(mark(x0), x1) 460.36/164.26 U45(x0, mark(x1)) 460.36/164.26 U45(active(x0), x1) 460.36/164.26 U45(x0, active(x1)) 460.36/164.26 U46(mark(x0)) 460.36/164.26 U46(active(x0)) 460.36/164.26 isNatIList(mark(x0)) 460.36/164.26 isNatIList(active(x0)) 460.36/164.26 U51(mark(x0), x1) 460.36/164.26 U51(x0, mark(x1)) 460.36/164.26 U51(active(x0), x1) 460.36/164.26 U51(x0, active(x1)) 460.36/164.26 U52(mark(x0)) 460.36/164.26 U52(active(x0)) 460.36/164.26 U61(mark(x0)) 460.36/164.26 U61(active(x0)) 460.36/164.26 U71(mark(x0)) 460.36/164.26 U71(active(x0)) 460.36/164.26 U81(mark(x0), x1, x2) 460.36/164.26 U81(x0, mark(x1), x2) 460.36/164.26 U81(x0, x1, mark(x2)) 460.36/164.26 U81(active(x0), x1, x2) 460.36/164.26 U81(x0, active(x1), x2) 460.36/164.26 U81(x0, x1, active(x2)) 460.36/164.26 U82(mark(x0), x1, x2) 460.36/164.26 U82(x0, mark(x1), x2) 460.36/164.26 U82(x0, x1, mark(x2)) 460.36/164.26 U82(active(x0), x1, x2) 460.36/164.26 U82(x0, active(x1), x2) 460.36/164.26 U82(x0, x1, active(x2)) 460.36/164.26 U83(mark(x0), x1, x2) 460.36/164.26 U83(x0, mark(x1), x2) 460.36/164.26 U83(x0, x1, mark(x2)) 460.36/164.26 U83(active(x0), x1, x2) 460.36/164.26 U83(x0, active(x1), x2) 460.36/164.26 U83(x0, x1, active(x2)) 460.36/164.26 U84(mark(x0), x1, x2) 460.36/164.26 U84(x0, mark(x1), x2) 460.36/164.26 U84(x0, x1, mark(x2)) 460.36/164.26 U84(active(x0), x1, x2) 460.36/164.26 U84(x0, active(x1), x2) 460.36/164.26 U84(x0, x1, active(x2)) 460.36/164.26 U85(mark(x0), x1) 460.36/164.26 U85(x0, mark(x1)) 460.36/164.26 U85(active(x0), x1) 460.36/164.26 U85(x0, active(x1)) 460.36/164.26 U86(mark(x0)) 460.36/164.26 U86(active(x0)) 460.36/164.26 U91(mark(x0), x1, x2) 460.36/164.26 U91(x0, mark(x1), x2) 460.36/164.26 U91(x0, x1, mark(x2)) 460.36/164.26 U91(active(x0), x1, x2) 460.36/164.26 U91(x0, active(x1), x2) 460.36/164.26 U91(x0, x1, active(x2)) 460.36/164.26 U92(mark(x0), x1, x2) 460.36/164.26 U92(x0, mark(x1), x2) 460.36/164.26 U92(x0, x1, mark(x2)) 460.36/164.26 U92(active(x0), x1, x2) 460.36/164.26 U92(x0, active(x1), x2) 460.36/164.26 U92(x0, x1, active(x2)) 460.36/164.26 U93(mark(x0), x1, x2) 460.36/164.26 U93(x0, mark(x1), x2) 460.36/164.26 U93(x0, x1, mark(x2)) 460.36/164.26 U93(active(x0), x1, x2) 460.36/164.26 U93(x0, active(x1), x2) 460.36/164.26 U93(x0, x1, active(x2)) 460.36/164.26 U94(mark(x0), x1) 460.36/164.26 U94(x0, mark(x1)) 460.36/164.26 U94(active(x0), x1) 460.36/164.26 U94(x0, active(x1)) 460.36/164.26 s(mark(x0)) 460.36/164.26 s(active(x0)) 460.36/164.26 length(mark(x0)) 460.36/164.26 length(active(x0)) 460.36/164.26 460.36/164.26 We have to consider all minimal (P,Q,R)-chains. 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (309) QDPOrderProof (EQUIVALENT) 460.36/164.26 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.26 460.36/164.26 460.36/164.26 The following pairs can be oriented strictly and are deleted. 460.36/164.26 460.36/164.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 460.36/164.26 MARK(U94(X1, X2)) -> ACTIVE(U94(mark(X1), X2)) 460.36/164.26 The remaining pairs can at least be oriented weakly. 460.36/164.26 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.26 460.36/164.26 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U21_2(x_1, x_2) ) = 0 460.36/164.26 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U43_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U45_2(x_1, x_2) ) = 2 460.36/164.26 POL( U51_2(x_1, x_2) ) = 2 460.36/164.26 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U85_2(x_1, x_2) ) = 2 460.36/164.26 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.26 POL( U94_2(x_1, x_2) ) = 0 460.36/164.26 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.26 POL( zeros ) = 0 460.36/164.26 POL( active_1(x_1) ) = 2 460.36/164.26 POL( cons_2(x_1, x_2) ) = x_1 + 2 460.36/164.26 POL( 0 ) = 0 460.36/164.26 POL( U11_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.26 POL( tt ) = 0 460.36/164.26 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.26 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.26 POL( U13_1(x_1) ) = x_1 460.36/164.26 POL( isNatList_1(x_1) ) = 2 460.36/164.26 POL( U22_2(x_1, x_2) ) = x_2 + 1 460.36/164.26 POL( isNatKind_1(x_1) ) = 2 460.36/164.26 POL( U23_1(x_1) ) = x_1 460.36/164.26 POL( isNat_1(x_1) ) = 2 460.36/164.26 POL( U31_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U32_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U33_1(x_1) ) = x_1 460.36/164.26 POL( U46_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( isNatIList_1(x_1) ) = 2 460.36/164.26 POL( U52_1(x_1) ) = max{0, x_1 - 2} 460.36/164.26 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U71_1(x_1) ) = max{0, x_1 - 2} 460.36/164.26 POL( nil ) = 0 460.36/164.26 POL( MARK_1(x_1) ) = 2 460.36/164.26 460.36/164.26 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.26 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.26 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.26 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 460.36/164.26 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (310) 460.36/164.26 Obligation: 460.36/164.26 Q DP problem: 460.36/164.26 The TRS P consists of the following rules: 460.36/164.26 460.36/164.26 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.26 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.26 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.26 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.26 MARK(U46(X)) -> MARK(X) 460.36/164.26 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.26 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.26 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.26 MARK(U52(X)) -> MARK(X) 460.36/164.26 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.26 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.26 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.26 MARK(U86(X)) -> MARK(X) 460.36/164.26 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.26 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.26 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U93(tt, L, N)) -> MARK(U94(isNatKind(N), L)) 460.36/164.26 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.26 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.26 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.26 MARK(U61(X)) -> MARK(X) 460.36/164.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 460.36/164.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 460.36/164.26 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.26 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.26 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.26 MARK(U71(X)) -> MARK(X) 460.36/164.26 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.26 460.36/164.26 The TRS R consists of the following rules: 460.36/164.26 460.36/164.26 mark(zeros) -> active(zeros) 460.36/164.26 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.26 active(zeros) -> mark(cons(0, zeros)) 460.36/164.26 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.26 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.26 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.26 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.26 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.26 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.26 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.26 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.26 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.26 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.26 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.26 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.26 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.26 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.26 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.26 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.26 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.26 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.26 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.26 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.26 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.26 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.26 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.26 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.26 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.26 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.26 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.26 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.26 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.26 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.26 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.26 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.26 mark(s(X)) -> active(s(mark(X))) 460.36/164.26 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.26 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.26 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.26 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.26 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.26 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.26 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.26 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.26 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.26 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.26 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.26 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.26 mark(0) -> active(0) 460.36/164.26 mark(tt) -> active(tt) 460.36/164.26 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.26 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.26 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.26 mark(isNat(X)) -> active(isNat(X)) 460.36/164.26 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.26 mark(length(X)) -> active(length(mark(X))) 460.36/164.26 mark(nil) -> active(nil) 460.36/164.26 length(active(X)) -> length(X) 460.36/164.26 length(mark(X)) -> length(X) 460.36/164.26 active(U13(tt)) -> mark(tt) 460.36/164.26 active(U23(tt)) -> mark(tt) 460.36/164.26 active(U33(tt)) -> mark(tt) 460.36/164.26 active(U46(tt)) -> mark(tt) 460.36/164.26 active(U52(tt)) -> mark(tt) 460.36/164.26 active(U61(tt)) -> mark(tt) 460.36/164.26 active(U71(tt)) -> mark(tt) 460.36/164.26 active(U86(tt)) -> mark(tt) 460.36/164.26 active(isNat(0)) -> mark(tt) 460.36/164.26 active(isNatIList(zeros)) -> mark(tt) 460.36/164.26 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.26 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.26 active(isNatKind(0)) -> mark(tt) 460.36/164.26 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.26 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.26 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.26 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.26 U13(active(X)) -> U13(X) 460.36/164.26 U13(mark(X)) -> U13(X) 460.36/164.26 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.26 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.26 U23(active(X)) -> U23(X) 460.36/164.26 U23(mark(X)) -> U23(X) 460.36/164.26 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.26 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.26 U33(active(X)) -> U33(X) 460.36/164.26 U33(mark(X)) -> U33(X) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U46(active(X)) -> U46(X) 460.36/164.26 U46(mark(X)) -> U46(X) 460.36/164.26 U52(active(X)) -> U52(X) 460.36/164.26 U52(mark(X)) -> U52(X) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U86(active(X)) -> U86(X) 460.36/164.26 U86(mark(X)) -> U86(X) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.26 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.26 s(active(X)) -> s(X) 460.36/164.26 s(mark(X)) -> s(X) 460.36/164.26 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.26 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.26 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.26 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.26 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.26 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U61(active(X)) -> U61(X) 460.36/164.26 U61(mark(X)) -> U61(X) 460.36/164.26 U71(active(X)) -> U71(X) 460.36/164.26 U71(mark(X)) -> U71(X) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 460.36/164.26 The set Q consists of the following terms: 460.36/164.26 460.36/164.26 active(zeros) 460.36/164.26 active(U11(tt, x0)) 460.36/164.26 active(U12(tt, x0)) 460.36/164.26 active(U13(tt)) 460.36/164.26 active(U21(tt, x0)) 460.36/164.26 active(U22(tt, x0)) 460.36/164.26 active(U23(tt)) 460.36/164.26 active(U31(tt, x0)) 460.36/164.26 active(U32(tt, x0)) 460.36/164.26 active(U33(tt)) 460.36/164.26 active(U41(tt, x0, x1)) 460.36/164.26 active(U42(tt, x0, x1)) 460.36/164.26 active(U43(tt, x0, x1)) 460.36/164.26 active(U44(tt, x0, x1)) 460.36/164.26 active(U45(tt, x0)) 460.36/164.26 active(U46(tt)) 460.36/164.26 active(U51(tt, x0)) 460.36/164.26 active(U52(tt)) 460.36/164.26 active(U61(tt)) 460.36/164.26 active(U71(tt)) 460.36/164.26 active(U81(tt, x0, x1)) 460.36/164.26 active(U82(tt, x0, x1)) 460.36/164.26 active(U83(tt, x0, x1)) 460.36/164.26 active(U84(tt, x0, x1)) 460.36/164.26 active(U85(tt, x0)) 460.36/164.26 active(U86(tt)) 460.36/164.26 active(U91(tt, x0, x1)) 460.36/164.26 active(U92(tt, x0, x1)) 460.36/164.26 active(U93(tt, x0, x1)) 460.36/164.26 active(U94(tt, x0)) 460.36/164.26 active(isNat(0)) 460.36/164.26 active(isNat(length(x0))) 460.36/164.26 active(isNat(s(x0))) 460.36/164.26 active(isNatIList(x0)) 460.36/164.26 active(isNatIListKind(nil)) 460.36/164.26 active(isNatIListKind(zeros)) 460.36/164.26 active(isNatIListKind(cons(x0, x1))) 460.36/164.26 active(isNatKind(0)) 460.36/164.26 active(isNatKind(length(x0))) 460.36/164.26 active(isNatKind(s(x0))) 460.36/164.26 active(isNatList(nil)) 460.36/164.26 active(isNatList(cons(x0, x1))) 460.36/164.26 active(length(nil)) 460.36/164.26 active(length(cons(x0, x1))) 460.36/164.26 mark(zeros) 460.36/164.26 mark(cons(x0, x1)) 460.36/164.26 mark(0) 460.36/164.26 mark(U11(x0, x1)) 460.36/164.26 mark(tt) 460.36/164.26 mark(U12(x0, x1)) 460.36/164.26 mark(isNatIListKind(x0)) 460.36/164.26 mark(U13(x0)) 460.36/164.26 mark(isNatList(x0)) 460.36/164.26 mark(U21(x0, x1)) 460.36/164.26 mark(U22(x0, x1)) 460.36/164.26 mark(isNatKind(x0)) 460.36/164.26 mark(U23(x0)) 460.36/164.26 mark(isNat(x0)) 460.36/164.26 mark(U31(x0, x1)) 460.36/164.26 mark(U32(x0, x1)) 460.36/164.26 mark(U33(x0)) 460.36/164.26 mark(U41(x0, x1, x2)) 460.36/164.26 mark(U42(x0, x1, x2)) 460.36/164.26 mark(U43(x0, x1, x2)) 460.36/164.26 mark(U44(x0, x1, x2)) 460.36/164.26 mark(U45(x0, x1)) 460.36/164.26 mark(U46(x0)) 460.36/164.26 mark(isNatIList(x0)) 460.36/164.26 mark(U51(x0, x1)) 460.36/164.26 mark(U52(x0)) 460.36/164.26 mark(U61(x0)) 460.36/164.26 mark(U71(x0)) 460.36/164.26 mark(U81(x0, x1, x2)) 460.36/164.26 mark(U82(x0, x1, x2)) 460.36/164.26 mark(U83(x0, x1, x2)) 460.36/164.26 mark(U84(x0, x1, x2)) 460.36/164.26 mark(U85(x0, x1)) 460.36/164.26 mark(U86(x0)) 460.36/164.26 mark(U91(x0, x1, x2)) 460.36/164.26 mark(U92(x0, x1, x2)) 460.36/164.26 mark(U93(x0, x1, x2)) 460.36/164.26 mark(U94(x0, x1)) 460.36/164.26 mark(s(x0)) 460.36/164.26 mark(length(x0)) 460.36/164.26 mark(nil) 460.36/164.26 cons(mark(x0), x1) 460.36/164.26 cons(x0, mark(x1)) 460.36/164.26 cons(active(x0), x1) 460.36/164.26 cons(x0, active(x1)) 460.36/164.26 U11(mark(x0), x1) 460.36/164.26 U11(x0, mark(x1)) 460.36/164.26 U11(active(x0), x1) 460.36/164.26 U11(x0, active(x1)) 460.36/164.26 U12(mark(x0), x1) 460.36/164.26 U12(x0, mark(x1)) 460.36/164.26 U12(active(x0), x1) 460.36/164.26 U12(x0, active(x1)) 460.36/164.26 isNatIListKind(mark(x0)) 460.36/164.26 isNatIListKind(active(x0)) 460.36/164.26 U13(mark(x0)) 460.36/164.26 U13(active(x0)) 460.36/164.26 isNatList(mark(x0)) 460.36/164.26 isNatList(active(x0)) 460.36/164.26 U21(mark(x0), x1) 460.36/164.26 U21(x0, mark(x1)) 460.36/164.26 U21(active(x0), x1) 460.36/164.26 U21(x0, active(x1)) 460.36/164.26 U22(mark(x0), x1) 460.36/164.26 U22(x0, mark(x1)) 460.36/164.26 U22(active(x0), x1) 460.36/164.26 U22(x0, active(x1)) 460.36/164.26 isNatKind(mark(x0)) 460.36/164.26 isNatKind(active(x0)) 460.36/164.26 U23(mark(x0)) 460.36/164.26 U23(active(x0)) 460.36/164.26 isNat(mark(x0)) 460.36/164.26 isNat(active(x0)) 460.36/164.26 U31(mark(x0), x1) 460.36/164.26 U31(x0, mark(x1)) 460.36/164.26 U31(active(x0), x1) 460.36/164.26 U31(x0, active(x1)) 460.36/164.26 U32(mark(x0), x1) 460.36/164.26 U32(x0, mark(x1)) 460.36/164.26 U32(active(x0), x1) 460.36/164.26 U32(x0, active(x1)) 460.36/164.26 U33(mark(x0)) 460.36/164.26 U33(active(x0)) 460.36/164.26 U41(mark(x0), x1, x2) 460.36/164.26 U41(x0, mark(x1), x2) 460.36/164.26 U41(x0, x1, mark(x2)) 460.36/164.26 U41(active(x0), x1, x2) 460.36/164.26 U41(x0, active(x1), x2) 460.36/164.26 U41(x0, x1, active(x2)) 460.36/164.26 U42(mark(x0), x1, x2) 460.36/164.26 U42(x0, mark(x1), x2) 460.36/164.26 U42(x0, x1, mark(x2)) 460.36/164.26 U42(active(x0), x1, x2) 460.36/164.26 U42(x0, active(x1), x2) 460.36/164.26 U42(x0, x1, active(x2)) 460.36/164.26 U43(mark(x0), x1, x2) 460.36/164.26 U43(x0, mark(x1), x2) 460.36/164.26 U43(x0, x1, mark(x2)) 460.36/164.26 U43(active(x0), x1, x2) 460.36/164.26 U43(x0, active(x1), x2) 460.36/164.26 U43(x0, x1, active(x2)) 460.36/164.26 U44(mark(x0), x1, x2) 460.36/164.26 U44(x0, mark(x1), x2) 460.36/164.26 U44(x0, x1, mark(x2)) 460.36/164.26 U44(active(x0), x1, x2) 460.36/164.26 U44(x0, active(x1), x2) 460.36/164.26 U44(x0, x1, active(x2)) 460.36/164.26 U45(mark(x0), x1) 460.36/164.26 U45(x0, mark(x1)) 460.36/164.26 U45(active(x0), x1) 460.36/164.26 U45(x0, active(x1)) 460.36/164.26 U46(mark(x0)) 460.36/164.26 U46(active(x0)) 460.36/164.26 isNatIList(mark(x0)) 460.36/164.26 isNatIList(active(x0)) 460.36/164.26 U51(mark(x0), x1) 460.36/164.26 U51(x0, mark(x1)) 460.36/164.26 U51(active(x0), x1) 460.36/164.26 U51(x0, active(x1)) 460.36/164.26 U52(mark(x0)) 460.36/164.26 U52(active(x0)) 460.36/164.26 U61(mark(x0)) 460.36/164.26 U61(active(x0)) 460.36/164.26 U71(mark(x0)) 460.36/164.26 U71(active(x0)) 460.36/164.26 U81(mark(x0), x1, x2) 460.36/164.26 U81(x0, mark(x1), x2) 460.36/164.26 U81(x0, x1, mark(x2)) 460.36/164.26 U81(active(x0), x1, x2) 460.36/164.26 U81(x0, active(x1), x2) 460.36/164.26 U81(x0, x1, active(x2)) 460.36/164.26 U82(mark(x0), x1, x2) 460.36/164.26 U82(x0, mark(x1), x2) 460.36/164.26 U82(x0, x1, mark(x2)) 460.36/164.26 U82(active(x0), x1, x2) 460.36/164.26 U82(x0, active(x1), x2) 460.36/164.26 U82(x0, x1, active(x2)) 460.36/164.26 U83(mark(x0), x1, x2) 460.36/164.26 U83(x0, mark(x1), x2) 460.36/164.26 U83(x0, x1, mark(x2)) 460.36/164.26 U83(active(x0), x1, x2) 460.36/164.26 U83(x0, active(x1), x2) 460.36/164.26 U83(x0, x1, active(x2)) 460.36/164.26 U84(mark(x0), x1, x2) 460.36/164.26 U84(x0, mark(x1), x2) 460.36/164.26 U84(x0, x1, mark(x2)) 460.36/164.26 U84(active(x0), x1, x2) 460.36/164.26 U84(x0, active(x1), x2) 460.36/164.26 U84(x0, x1, active(x2)) 460.36/164.26 U85(mark(x0), x1) 460.36/164.26 U85(x0, mark(x1)) 460.36/164.26 U85(active(x0), x1) 460.36/164.26 U85(x0, active(x1)) 460.36/164.26 U86(mark(x0)) 460.36/164.26 U86(active(x0)) 460.36/164.26 U91(mark(x0), x1, x2) 460.36/164.26 U91(x0, mark(x1), x2) 460.36/164.26 U91(x0, x1, mark(x2)) 460.36/164.26 U91(active(x0), x1, x2) 460.36/164.26 U91(x0, active(x1), x2) 460.36/164.26 U91(x0, x1, active(x2)) 460.36/164.26 U92(mark(x0), x1, x2) 460.36/164.26 U92(x0, mark(x1), x2) 460.36/164.26 U92(x0, x1, mark(x2)) 460.36/164.26 U92(active(x0), x1, x2) 460.36/164.26 U92(x0, active(x1), x2) 460.36/164.26 U92(x0, x1, active(x2)) 460.36/164.26 U93(mark(x0), x1, x2) 460.36/164.26 U93(x0, mark(x1), x2) 460.36/164.26 U93(x0, x1, mark(x2)) 460.36/164.26 U93(active(x0), x1, x2) 460.36/164.26 U93(x0, active(x1), x2) 460.36/164.26 U93(x0, x1, active(x2)) 460.36/164.26 U94(mark(x0), x1) 460.36/164.26 U94(x0, mark(x1)) 460.36/164.26 U94(active(x0), x1) 460.36/164.26 U94(x0, active(x1)) 460.36/164.26 s(mark(x0)) 460.36/164.26 s(active(x0)) 460.36/164.26 length(mark(x0)) 460.36/164.26 length(active(x0)) 460.36/164.26 460.36/164.26 We have to consider all minimal (P,Q,R)-chains. 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (311) DependencyGraphProof (EQUIVALENT) 460.36/164.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (312) 460.36/164.26 Obligation: 460.36/164.26 Q DP problem: 460.36/164.26 The TRS P consists of the following rules: 460.36/164.26 460.36/164.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.26 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.26 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.26 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.26 MARK(U46(X)) -> MARK(X) 460.36/164.26 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.26 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.26 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.26 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.26 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.26 MARK(U52(X)) -> MARK(X) 460.36/164.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.26 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.26 MARK(U61(X)) -> MARK(X) 460.36/164.26 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.26 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.26 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.26 MARK(U86(X)) -> MARK(X) 460.36/164.26 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.26 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U71(X)) -> MARK(X) 460.36/164.26 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.26 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.26 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.26 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.26 460.36/164.26 The TRS R consists of the following rules: 460.36/164.26 460.36/164.26 mark(zeros) -> active(zeros) 460.36/164.26 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.26 active(zeros) -> mark(cons(0, zeros)) 460.36/164.26 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.26 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.26 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.26 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.26 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.26 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.26 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.26 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.26 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.26 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.26 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.26 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.26 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.26 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.26 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.26 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.26 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.26 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.26 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.26 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.26 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.26 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.26 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.26 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.26 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.26 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.26 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.26 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.26 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.26 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.26 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.26 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.26 mark(s(X)) -> active(s(mark(X))) 460.36/164.26 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.26 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.26 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.26 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.26 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.26 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.26 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.26 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.26 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.26 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.26 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.26 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.26 mark(0) -> active(0) 460.36/164.26 mark(tt) -> active(tt) 460.36/164.26 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.26 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.26 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.26 mark(isNat(X)) -> active(isNat(X)) 460.36/164.26 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.26 mark(length(X)) -> active(length(mark(X))) 460.36/164.26 mark(nil) -> active(nil) 460.36/164.26 length(active(X)) -> length(X) 460.36/164.26 length(mark(X)) -> length(X) 460.36/164.26 active(U13(tt)) -> mark(tt) 460.36/164.26 active(U23(tt)) -> mark(tt) 460.36/164.26 active(U33(tt)) -> mark(tt) 460.36/164.26 active(U46(tt)) -> mark(tt) 460.36/164.26 active(U52(tt)) -> mark(tt) 460.36/164.26 active(U61(tt)) -> mark(tt) 460.36/164.26 active(U71(tt)) -> mark(tt) 460.36/164.26 active(U86(tt)) -> mark(tt) 460.36/164.26 active(isNat(0)) -> mark(tt) 460.36/164.26 active(isNatIList(zeros)) -> mark(tt) 460.36/164.26 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.26 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.26 active(isNatKind(0)) -> mark(tt) 460.36/164.26 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.26 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.26 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.26 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.26 U13(active(X)) -> U13(X) 460.36/164.26 U13(mark(X)) -> U13(X) 460.36/164.26 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.26 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.26 U23(active(X)) -> U23(X) 460.36/164.26 U23(mark(X)) -> U23(X) 460.36/164.26 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.26 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.26 U33(active(X)) -> U33(X) 460.36/164.26 U33(mark(X)) -> U33(X) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U46(active(X)) -> U46(X) 460.36/164.26 U46(mark(X)) -> U46(X) 460.36/164.26 U52(active(X)) -> U52(X) 460.36/164.26 U52(mark(X)) -> U52(X) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U86(active(X)) -> U86(X) 460.36/164.26 U86(mark(X)) -> U86(X) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.26 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.26 s(active(X)) -> s(X) 460.36/164.26 s(mark(X)) -> s(X) 460.36/164.26 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.26 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.26 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.26 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.26 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.26 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U61(active(X)) -> U61(X) 460.36/164.26 U61(mark(X)) -> U61(X) 460.36/164.26 U71(active(X)) -> U71(X) 460.36/164.26 U71(mark(X)) -> U71(X) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 460.36/164.26 The set Q consists of the following terms: 460.36/164.26 460.36/164.26 active(zeros) 460.36/164.26 active(U11(tt, x0)) 460.36/164.26 active(U12(tt, x0)) 460.36/164.26 active(U13(tt)) 460.36/164.26 active(U21(tt, x0)) 460.36/164.26 active(U22(tt, x0)) 460.36/164.26 active(U23(tt)) 460.36/164.26 active(U31(tt, x0)) 460.36/164.26 active(U32(tt, x0)) 460.36/164.26 active(U33(tt)) 460.36/164.26 active(U41(tt, x0, x1)) 460.36/164.26 active(U42(tt, x0, x1)) 460.36/164.26 active(U43(tt, x0, x1)) 460.36/164.26 active(U44(tt, x0, x1)) 460.36/164.26 active(U45(tt, x0)) 460.36/164.26 active(U46(tt)) 460.36/164.26 active(U51(tt, x0)) 460.36/164.26 active(U52(tt)) 460.36/164.26 active(U61(tt)) 460.36/164.26 active(U71(tt)) 460.36/164.26 active(U81(tt, x0, x1)) 460.36/164.26 active(U82(tt, x0, x1)) 460.36/164.26 active(U83(tt, x0, x1)) 460.36/164.26 active(U84(tt, x0, x1)) 460.36/164.26 active(U85(tt, x0)) 460.36/164.26 active(U86(tt)) 460.36/164.26 active(U91(tt, x0, x1)) 460.36/164.26 active(U92(tt, x0, x1)) 460.36/164.26 active(U93(tt, x0, x1)) 460.36/164.26 active(U94(tt, x0)) 460.36/164.26 active(isNat(0)) 460.36/164.26 active(isNat(length(x0))) 460.36/164.26 active(isNat(s(x0))) 460.36/164.26 active(isNatIList(x0)) 460.36/164.26 active(isNatIListKind(nil)) 460.36/164.26 active(isNatIListKind(zeros)) 460.36/164.26 active(isNatIListKind(cons(x0, x1))) 460.36/164.26 active(isNatKind(0)) 460.36/164.26 active(isNatKind(length(x0))) 460.36/164.26 active(isNatKind(s(x0))) 460.36/164.26 active(isNatList(nil)) 460.36/164.26 active(isNatList(cons(x0, x1))) 460.36/164.26 active(length(nil)) 460.36/164.26 active(length(cons(x0, x1))) 460.36/164.26 mark(zeros) 460.36/164.26 mark(cons(x0, x1)) 460.36/164.26 mark(0) 460.36/164.26 mark(U11(x0, x1)) 460.36/164.26 mark(tt) 460.36/164.26 mark(U12(x0, x1)) 460.36/164.26 mark(isNatIListKind(x0)) 460.36/164.26 mark(U13(x0)) 460.36/164.26 mark(isNatList(x0)) 460.36/164.26 mark(U21(x0, x1)) 460.36/164.26 mark(U22(x0, x1)) 460.36/164.26 mark(isNatKind(x0)) 460.36/164.26 mark(U23(x0)) 460.36/164.26 mark(isNat(x0)) 460.36/164.26 mark(U31(x0, x1)) 460.36/164.26 mark(U32(x0, x1)) 460.36/164.26 mark(U33(x0)) 460.36/164.26 mark(U41(x0, x1, x2)) 460.36/164.26 mark(U42(x0, x1, x2)) 460.36/164.26 mark(U43(x0, x1, x2)) 460.36/164.26 mark(U44(x0, x1, x2)) 460.36/164.26 mark(U45(x0, x1)) 460.36/164.26 mark(U46(x0)) 460.36/164.26 mark(isNatIList(x0)) 460.36/164.26 mark(U51(x0, x1)) 460.36/164.26 mark(U52(x0)) 460.36/164.26 mark(U61(x0)) 460.36/164.26 mark(U71(x0)) 460.36/164.26 mark(U81(x0, x1, x2)) 460.36/164.26 mark(U82(x0, x1, x2)) 460.36/164.26 mark(U83(x0, x1, x2)) 460.36/164.26 mark(U84(x0, x1, x2)) 460.36/164.26 mark(U85(x0, x1)) 460.36/164.26 mark(U86(x0)) 460.36/164.26 mark(U91(x0, x1, x2)) 460.36/164.26 mark(U92(x0, x1, x2)) 460.36/164.26 mark(U93(x0, x1, x2)) 460.36/164.26 mark(U94(x0, x1)) 460.36/164.26 mark(s(x0)) 460.36/164.26 mark(length(x0)) 460.36/164.26 mark(nil) 460.36/164.26 cons(mark(x0), x1) 460.36/164.26 cons(x0, mark(x1)) 460.36/164.26 cons(active(x0), x1) 460.36/164.26 cons(x0, active(x1)) 460.36/164.26 U11(mark(x0), x1) 460.36/164.26 U11(x0, mark(x1)) 460.36/164.26 U11(active(x0), x1) 460.36/164.26 U11(x0, active(x1)) 460.36/164.26 U12(mark(x0), x1) 460.36/164.26 U12(x0, mark(x1)) 460.36/164.26 U12(active(x0), x1) 460.36/164.26 U12(x0, active(x1)) 460.36/164.26 isNatIListKind(mark(x0)) 460.36/164.26 isNatIListKind(active(x0)) 460.36/164.26 U13(mark(x0)) 460.36/164.26 U13(active(x0)) 460.36/164.26 isNatList(mark(x0)) 460.36/164.26 isNatList(active(x0)) 460.36/164.26 U21(mark(x0), x1) 460.36/164.26 U21(x0, mark(x1)) 460.36/164.26 U21(active(x0), x1) 460.36/164.26 U21(x0, active(x1)) 460.36/164.26 U22(mark(x0), x1) 460.36/164.26 U22(x0, mark(x1)) 460.36/164.26 U22(active(x0), x1) 460.36/164.26 U22(x0, active(x1)) 460.36/164.26 isNatKind(mark(x0)) 460.36/164.26 isNatKind(active(x0)) 460.36/164.26 U23(mark(x0)) 460.36/164.26 U23(active(x0)) 460.36/164.26 isNat(mark(x0)) 460.36/164.26 isNat(active(x0)) 460.36/164.26 U31(mark(x0), x1) 460.36/164.26 U31(x0, mark(x1)) 460.36/164.26 U31(active(x0), x1) 460.36/164.26 U31(x0, active(x1)) 460.36/164.26 U32(mark(x0), x1) 460.36/164.26 U32(x0, mark(x1)) 460.36/164.26 U32(active(x0), x1) 460.36/164.26 U32(x0, active(x1)) 460.36/164.26 U33(mark(x0)) 460.36/164.26 U33(active(x0)) 460.36/164.26 U41(mark(x0), x1, x2) 460.36/164.26 U41(x0, mark(x1), x2) 460.36/164.26 U41(x0, x1, mark(x2)) 460.36/164.26 U41(active(x0), x1, x2) 460.36/164.26 U41(x0, active(x1), x2) 460.36/164.26 U41(x0, x1, active(x2)) 460.36/164.26 U42(mark(x0), x1, x2) 460.36/164.26 U42(x0, mark(x1), x2) 460.36/164.26 U42(x0, x1, mark(x2)) 460.36/164.26 U42(active(x0), x1, x2) 460.36/164.26 U42(x0, active(x1), x2) 460.36/164.26 U42(x0, x1, active(x2)) 460.36/164.26 U43(mark(x0), x1, x2) 460.36/164.26 U43(x0, mark(x1), x2) 460.36/164.26 U43(x0, x1, mark(x2)) 460.36/164.26 U43(active(x0), x1, x2) 460.36/164.26 U43(x0, active(x1), x2) 460.36/164.26 U43(x0, x1, active(x2)) 460.36/164.26 U44(mark(x0), x1, x2) 460.36/164.26 U44(x0, mark(x1), x2) 460.36/164.26 U44(x0, x1, mark(x2)) 460.36/164.26 U44(active(x0), x1, x2) 460.36/164.26 U44(x0, active(x1), x2) 460.36/164.26 U44(x0, x1, active(x2)) 460.36/164.26 U45(mark(x0), x1) 460.36/164.26 U45(x0, mark(x1)) 460.36/164.26 U45(active(x0), x1) 460.36/164.26 U45(x0, active(x1)) 460.36/164.26 U46(mark(x0)) 460.36/164.26 U46(active(x0)) 460.36/164.26 isNatIList(mark(x0)) 460.36/164.26 isNatIList(active(x0)) 460.36/164.26 U51(mark(x0), x1) 460.36/164.26 U51(x0, mark(x1)) 460.36/164.26 U51(active(x0), x1) 460.36/164.26 U51(x0, active(x1)) 460.36/164.26 U52(mark(x0)) 460.36/164.26 U52(active(x0)) 460.36/164.26 U61(mark(x0)) 460.36/164.26 U61(active(x0)) 460.36/164.26 U71(mark(x0)) 460.36/164.26 U71(active(x0)) 460.36/164.26 U81(mark(x0), x1, x2) 460.36/164.26 U81(x0, mark(x1), x2) 460.36/164.26 U81(x0, x1, mark(x2)) 460.36/164.26 U81(active(x0), x1, x2) 460.36/164.26 U81(x0, active(x1), x2) 460.36/164.26 U81(x0, x1, active(x2)) 460.36/164.26 U82(mark(x0), x1, x2) 460.36/164.26 U82(x0, mark(x1), x2) 460.36/164.26 U82(x0, x1, mark(x2)) 460.36/164.26 U82(active(x0), x1, x2) 460.36/164.26 U82(x0, active(x1), x2) 460.36/164.26 U82(x0, x1, active(x2)) 460.36/164.26 U83(mark(x0), x1, x2) 460.36/164.26 U83(x0, mark(x1), x2) 460.36/164.26 U83(x0, x1, mark(x2)) 460.36/164.26 U83(active(x0), x1, x2) 460.36/164.26 U83(x0, active(x1), x2) 460.36/164.26 U83(x0, x1, active(x2)) 460.36/164.26 U84(mark(x0), x1, x2) 460.36/164.26 U84(x0, mark(x1), x2) 460.36/164.26 U84(x0, x1, mark(x2)) 460.36/164.26 U84(active(x0), x1, x2) 460.36/164.26 U84(x0, active(x1), x2) 460.36/164.26 U84(x0, x1, active(x2)) 460.36/164.26 U85(mark(x0), x1) 460.36/164.26 U85(x0, mark(x1)) 460.36/164.26 U85(active(x0), x1) 460.36/164.26 U85(x0, active(x1)) 460.36/164.26 U86(mark(x0)) 460.36/164.26 U86(active(x0)) 460.36/164.26 U91(mark(x0), x1, x2) 460.36/164.26 U91(x0, mark(x1), x2) 460.36/164.26 U91(x0, x1, mark(x2)) 460.36/164.26 U91(active(x0), x1, x2) 460.36/164.26 U91(x0, active(x1), x2) 460.36/164.26 U91(x0, x1, active(x2)) 460.36/164.26 U92(mark(x0), x1, x2) 460.36/164.26 U92(x0, mark(x1), x2) 460.36/164.26 U92(x0, x1, mark(x2)) 460.36/164.26 U92(active(x0), x1, x2) 460.36/164.26 U92(x0, active(x1), x2) 460.36/164.26 U92(x0, x1, active(x2)) 460.36/164.26 U93(mark(x0), x1, x2) 460.36/164.26 U93(x0, mark(x1), x2) 460.36/164.26 U93(x0, x1, mark(x2)) 460.36/164.26 U93(active(x0), x1, x2) 460.36/164.26 U93(x0, active(x1), x2) 460.36/164.26 U93(x0, x1, active(x2)) 460.36/164.26 U94(mark(x0), x1) 460.36/164.26 U94(x0, mark(x1)) 460.36/164.26 U94(active(x0), x1) 460.36/164.26 U94(x0, active(x1)) 460.36/164.26 s(mark(x0)) 460.36/164.26 s(active(x0)) 460.36/164.26 length(mark(x0)) 460.36/164.26 length(active(x0)) 460.36/164.26 460.36/164.26 We have to consider all minimal (P,Q,R)-chains. 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (313) QDPOrderProof (EQUIVALENT) 460.36/164.26 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.26 460.36/164.26 460.36/164.26 The following pairs can be oriented strictly and are deleted. 460.36/164.26 460.36/164.26 ACTIVE(length(cons(N, L))) -> MARK(U91(isNatList(L), L, N)) 460.36/164.26 The remaining pairs can at least be oriented weakly. 460.36/164.26 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.26 460.36/164.26 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U41_3(x_1, ..., x_3) ) = 0 460.36/164.26 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U45_2(x_1, x_2) ) = 0 460.36/164.26 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.26 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U85_2(x_1, x_2) ) = 0 460.36/164.26 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.26 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.26 POL( zeros ) = 2 460.36/164.26 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.26 POL( 0 ) = 2 460.36/164.26 POL( U11_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} 460.36/164.26 POL( tt ) = 0 460.36/164.26 POL( U12_2(x_1, x_2) ) = 2 460.36/164.26 POL( isNatIListKind_1(x_1) ) = 1 460.36/164.26 POL( U13_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( isNatList_1(x_1) ) = 0 460.36/164.26 POL( U21_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.26 POL( U22_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.26 POL( isNatKind_1(x_1) ) = 0 460.36/164.26 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( isNat_1(x_1) ) = 0 460.36/164.26 POL( U31_2(x_1, x_2) ) = x_2 + 2 460.36/164.26 POL( U32_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.26 POL( U33_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U46_1(x_1) ) = max{0, x_1 - 2} 460.36/164.26 POL( isNatIList_1(x_1) ) = 0 460.36/164.26 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( U94_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.26 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.26 POL( length_1(x_1) ) = 2 460.36/164.26 POL( U61_1(x_1) ) = x_1 + 2 460.36/164.26 POL( U71_1(x_1) ) = max{0, x_1 - 2} 460.36/164.26 POL( nil ) = 2 460.36/164.26 POL( MARK_1(x_1) ) = max{0, -2} 460.36/164.26 460.36/164.26 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.26 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 460.36/164.26 460.36/164.26 ---------------------------------------- 460.36/164.26 460.36/164.26 (314) 460.36/164.26 Obligation: 460.36/164.26 Q DP problem: 460.36/164.26 The TRS P consists of the following rules: 460.36/164.26 460.36/164.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.26 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.26 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.26 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.26 MARK(U46(X)) -> MARK(X) 460.36/164.26 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.26 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.26 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.26 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.26 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.26 MARK(U52(X)) -> MARK(X) 460.36/164.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.26 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.26 MARK(U61(X)) -> MARK(X) 460.36/164.26 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.26 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.26 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.26 MARK(U86(X)) -> MARK(X) 460.36/164.26 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.26 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.26 MARK(U71(X)) -> MARK(X) 460.36/164.26 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.26 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.26 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.26 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.26 460.36/164.26 The TRS R consists of the following rules: 460.36/164.26 460.36/164.26 mark(zeros) -> active(zeros) 460.36/164.26 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.26 active(zeros) -> mark(cons(0, zeros)) 460.36/164.26 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.26 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.26 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.26 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.26 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.26 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.26 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.26 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.26 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.26 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.26 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.26 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.26 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.26 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.26 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.26 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.26 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.26 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.26 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.26 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.26 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.26 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.26 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.26 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.26 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.26 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.26 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.26 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.26 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.26 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.26 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.26 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.26 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.26 mark(s(X)) -> active(s(mark(X))) 460.36/164.26 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.26 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.26 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.26 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.26 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.26 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.26 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.26 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.26 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.26 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.26 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.26 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.26 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.26 mark(0) -> active(0) 460.36/164.26 mark(tt) -> active(tt) 460.36/164.26 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.26 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.26 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.26 mark(isNat(X)) -> active(isNat(X)) 460.36/164.26 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.26 mark(length(X)) -> active(length(mark(X))) 460.36/164.26 mark(nil) -> active(nil) 460.36/164.26 length(active(X)) -> length(X) 460.36/164.26 length(mark(X)) -> length(X) 460.36/164.26 active(U13(tt)) -> mark(tt) 460.36/164.26 active(U23(tt)) -> mark(tt) 460.36/164.26 active(U33(tt)) -> mark(tt) 460.36/164.26 active(U46(tt)) -> mark(tt) 460.36/164.26 active(U52(tt)) -> mark(tt) 460.36/164.26 active(U61(tt)) -> mark(tt) 460.36/164.26 active(U71(tt)) -> mark(tt) 460.36/164.26 active(U86(tt)) -> mark(tt) 460.36/164.26 active(isNat(0)) -> mark(tt) 460.36/164.26 active(isNatIList(zeros)) -> mark(tt) 460.36/164.26 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.26 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.26 active(isNatKind(0)) -> mark(tt) 460.36/164.26 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.26 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.26 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.26 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.26 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.26 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.26 U13(active(X)) -> U13(X) 460.36/164.26 U13(mark(X)) -> U13(X) 460.36/164.26 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.26 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.26 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.26 U23(active(X)) -> U23(X) 460.36/164.26 U23(mark(X)) -> U23(X) 460.36/164.26 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.26 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.26 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.26 U33(active(X)) -> U33(X) 460.36/164.26 U33(mark(X)) -> U33(X) 460.36/164.26 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.26 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.26 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.26 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.26 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.26 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.26 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.26 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.26 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.26 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.26 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.26 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.26 U46(active(X)) -> U46(X) 460.36/164.26 U46(mark(X)) -> U46(X) 460.36/164.26 U52(active(X)) -> U52(X) 460.36/164.26 U52(mark(X)) -> U52(X) 460.36/164.26 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.26 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.26 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.26 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.26 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.26 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.26 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.26 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.26 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.26 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.26 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.26 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.26 U86(active(X)) -> U86(X) 460.36/164.26 U86(mark(X)) -> U86(X) 460.36/164.26 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.26 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.26 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.26 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.26 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.26 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.26 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.26 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.26 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.26 s(active(X)) -> s(X) 460.36/164.26 s(mark(X)) -> s(X) 460.36/164.26 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.26 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.26 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.26 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.26 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.26 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.26 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.26 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.26 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.26 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.26 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.26 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.26 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.26 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.26 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.26 U61(active(X)) -> U61(X) 460.36/164.26 U61(mark(X)) -> U61(X) 460.36/164.26 U71(active(X)) -> U71(X) 460.36/164.26 U71(mark(X)) -> U71(X) 460.36/164.26 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.26 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.26 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.26 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.26 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.26 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.26 460.36/164.26 The set Q consists of the following terms: 460.36/164.26 460.36/164.26 active(zeros) 460.36/164.26 active(U11(tt, x0)) 460.36/164.26 active(U12(tt, x0)) 460.36/164.26 active(U13(tt)) 460.36/164.26 active(U21(tt, x0)) 460.36/164.26 active(U22(tt, x0)) 460.36/164.26 active(U23(tt)) 460.36/164.26 active(U31(tt, x0)) 460.36/164.26 active(U32(tt, x0)) 460.36/164.26 active(U33(tt)) 460.36/164.26 active(U41(tt, x0, x1)) 460.36/164.26 active(U42(tt, x0, x1)) 460.36/164.26 active(U43(tt, x0, x1)) 460.36/164.26 active(U44(tt, x0, x1)) 460.36/164.26 active(U45(tt, x0)) 460.36/164.26 active(U46(tt)) 460.36/164.26 active(U51(tt, x0)) 460.36/164.26 active(U52(tt)) 460.36/164.26 active(U61(tt)) 460.36/164.26 active(U71(tt)) 460.36/164.26 active(U81(tt, x0, x1)) 460.36/164.26 active(U82(tt, x0, x1)) 460.36/164.26 active(U83(tt, x0, x1)) 460.36/164.26 active(U84(tt, x0, x1)) 460.36/164.26 active(U85(tt, x0)) 460.36/164.26 active(U86(tt)) 460.36/164.26 active(U91(tt, x0, x1)) 460.36/164.26 active(U92(tt, x0, x1)) 460.36/164.26 active(U93(tt, x0, x1)) 460.36/164.26 active(U94(tt, x0)) 460.36/164.26 active(isNat(0)) 460.36/164.26 active(isNat(length(x0))) 460.36/164.26 active(isNat(s(x0))) 460.36/164.26 active(isNatIList(x0)) 460.36/164.26 active(isNatIListKind(nil)) 460.36/164.26 active(isNatIListKind(zeros)) 460.36/164.26 active(isNatIListKind(cons(x0, x1))) 460.36/164.26 active(isNatKind(0)) 460.36/164.26 active(isNatKind(length(x0))) 460.36/164.26 active(isNatKind(s(x0))) 460.36/164.26 active(isNatList(nil)) 460.36/164.26 active(isNatList(cons(x0, x1))) 460.36/164.26 active(length(nil)) 460.36/164.26 active(length(cons(x0, x1))) 460.36/164.26 mark(zeros) 460.36/164.26 mark(cons(x0, x1)) 460.36/164.26 mark(0) 460.36/164.26 mark(U11(x0, x1)) 460.36/164.26 mark(tt) 460.36/164.26 mark(U12(x0, x1)) 460.36/164.26 mark(isNatIListKind(x0)) 460.36/164.26 mark(U13(x0)) 460.36/164.26 mark(isNatList(x0)) 460.36/164.26 mark(U21(x0, x1)) 460.36/164.26 mark(U22(x0, x1)) 460.36/164.26 mark(isNatKind(x0)) 460.36/164.26 mark(U23(x0)) 460.36/164.26 mark(isNat(x0)) 460.36/164.26 mark(U31(x0, x1)) 460.36/164.26 mark(U32(x0, x1)) 460.36/164.26 mark(U33(x0)) 460.36/164.26 mark(U41(x0, x1, x2)) 460.36/164.26 mark(U42(x0, x1, x2)) 460.36/164.26 mark(U43(x0, x1, x2)) 460.36/164.26 mark(U44(x0, x1, x2)) 460.36/164.26 mark(U45(x0, x1)) 460.36/164.26 mark(U46(x0)) 460.36/164.26 mark(isNatIList(x0)) 460.36/164.26 mark(U51(x0, x1)) 460.36/164.26 mark(U52(x0)) 460.36/164.26 mark(U61(x0)) 460.36/164.26 mark(U71(x0)) 460.36/164.26 mark(U81(x0, x1, x2)) 460.36/164.26 mark(U82(x0, x1, x2)) 460.36/164.26 mark(U83(x0, x1, x2)) 460.36/164.26 mark(U84(x0, x1, x2)) 460.36/164.26 mark(U85(x0, x1)) 460.36/164.26 mark(U86(x0)) 460.36/164.26 mark(U91(x0, x1, x2)) 460.36/164.26 mark(U92(x0, x1, x2)) 460.36/164.26 mark(U93(x0, x1, x2)) 460.36/164.26 mark(U94(x0, x1)) 460.36/164.26 mark(s(x0)) 460.36/164.26 mark(length(x0)) 460.36/164.26 mark(nil) 460.36/164.26 cons(mark(x0), x1) 460.36/164.26 cons(x0, mark(x1)) 460.36/164.26 cons(active(x0), x1) 460.36/164.26 cons(x0, active(x1)) 460.36/164.26 U11(mark(x0), x1) 460.36/164.26 U11(x0, mark(x1)) 460.36/164.26 U11(active(x0), x1) 460.36/164.26 U11(x0, active(x1)) 460.36/164.26 U12(mark(x0), x1) 460.36/164.26 U12(x0, mark(x1)) 460.36/164.26 U12(active(x0), x1) 460.36/164.26 U12(x0, active(x1)) 460.36/164.26 isNatIListKind(mark(x0)) 460.36/164.26 isNatIListKind(active(x0)) 460.36/164.26 U13(mark(x0)) 460.36/164.26 U13(active(x0)) 460.36/164.26 isNatList(mark(x0)) 460.36/164.26 isNatList(active(x0)) 460.36/164.26 U21(mark(x0), x1) 460.36/164.26 U21(x0, mark(x1)) 460.36/164.26 U21(active(x0), x1) 460.36/164.27 U21(x0, active(x1)) 460.36/164.27 U22(mark(x0), x1) 460.36/164.27 U22(x0, mark(x1)) 460.36/164.27 U22(active(x0), x1) 460.36/164.27 U22(x0, active(x1)) 460.36/164.27 isNatKind(mark(x0)) 460.36/164.27 isNatKind(active(x0)) 460.36/164.27 U23(mark(x0)) 460.36/164.27 U23(active(x0)) 460.36/164.27 isNat(mark(x0)) 460.36/164.27 isNat(active(x0)) 460.36/164.27 U31(mark(x0), x1) 460.36/164.27 U31(x0, mark(x1)) 460.36/164.27 U31(active(x0), x1) 460.36/164.27 U31(x0, active(x1)) 460.36/164.27 U32(mark(x0), x1) 460.36/164.27 U32(x0, mark(x1)) 460.36/164.27 U32(active(x0), x1) 460.36/164.27 U32(x0, active(x1)) 460.36/164.27 U33(mark(x0)) 460.36/164.27 U33(active(x0)) 460.36/164.27 U41(mark(x0), x1, x2) 460.36/164.27 U41(x0, mark(x1), x2) 460.36/164.27 U41(x0, x1, mark(x2)) 460.36/164.27 U41(active(x0), x1, x2) 460.36/164.27 U41(x0, active(x1), x2) 460.36/164.27 U41(x0, x1, active(x2)) 460.36/164.27 U42(mark(x0), x1, x2) 460.36/164.27 U42(x0, mark(x1), x2) 460.36/164.27 U42(x0, x1, mark(x2)) 460.36/164.27 U42(active(x0), x1, x2) 460.36/164.27 U42(x0, active(x1), x2) 460.36/164.27 U42(x0, x1, active(x2)) 460.36/164.27 U43(mark(x0), x1, x2) 460.36/164.27 U43(x0, mark(x1), x2) 460.36/164.27 U43(x0, x1, mark(x2)) 460.36/164.27 U43(active(x0), x1, x2) 460.36/164.27 U43(x0, active(x1), x2) 460.36/164.27 U43(x0, x1, active(x2)) 460.36/164.27 U44(mark(x0), x1, x2) 460.36/164.27 U44(x0, mark(x1), x2) 460.36/164.27 U44(x0, x1, mark(x2)) 460.36/164.27 U44(active(x0), x1, x2) 460.36/164.27 U44(x0, active(x1), x2) 460.36/164.27 U44(x0, x1, active(x2)) 460.36/164.27 U45(mark(x0), x1) 460.36/164.27 U45(x0, mark(x1)) 460.36/164.27 U45(active(x0), x1) 460.36/164.27 U45(x0, active(x1)) 460.36/164.27 U46(mark(x0)) 460.36/164.27 U46(active(x0)) 460.36/164.27 isNatIList(mark(x0)) 460.36/164.27 isNatIList(active(x0)) 460.36/164.27 U51(mark(x0), x1) 460.36/164.27 U51(x0, mark(x1)) 460.36/164.27 U51(active(x0), x1) 460.36/164.27 U51(x0, active(x1)) 460.36/164.27 U52(mark(x0)) 460.36/164.27 U52(active(x0)) 460.36/164.27 U61(mark(x0)) 460.36/164.27 U61(active(x0)) 460.36/164.27 U71(mark(x0)) 460.36/164.27 U71(active(x0)) 460.36/164.27 U81(mark(x0), x1, x2) 460.36/164.27 U81(x0, mark(x1), x2) 460.36/164.27 U81(x0, x1, mark(x2)) 460.36/164.27 U81(active(x0), x1, x2) 460.36/164.27 U81(x0, active(x1), x2) 460.36/164.27 U81(x0, x1, active(x2)) 460.36/164.27 U82(mark(x0), x1, x2) 460.36/164.27 U82(x0, mark(x1), x2) 460.36/164.27 U82(x0, x1, mark(x2)) 460.36/164.27 U82(active(x0), x1, x2) 460.36/164.27 U82(x0, active(x1), x2) 460.36/164.27 U82(x0, x1, active(x2)) 460.36/164.27 U83(mark(x0), x1, x2) 460.36/164.27 U83(x0, mark(x1), x2) 460.36/164.27 U83(x0, x1, mark(x2)) 460.36/164.27 U83(active(x0), x1, x2) 460.36/164.27 U83(x0, active(x1), x2) 460.36/164.27 U83(x0, x1, active(x2)) 460.36/164.27 U84(mark(x0), x1, x2) 460.36/164.27 U84(x0, mark(x1), x2) 460.36/164.27 U84(x0, x1, mark(x2)) 460.36/164.27 U84(active(x0), x1, x2) 460.36/164.27 U84(x0, active(x1), x2) 460.36/164.27 U84(x0, x1, active(x2)) 460.36/164.27 U85(mark(x0), x1) 460.36/164.27 U85(x0, mark(x1)) 460.36/164.27 U85(active(x0), x1) 460.36/164.27 U85(x0, active(x1)) 460.36/164.27 U86(mark(x0)) 460.36/164.27 U86(active(x0)) 460.36/164.27 U91(mark(x0), x1, x2) 460.36/164.27 U91(x0, mark(x1), x2) 460.36/164.27 U91(x0, x1, mark(x2)) 460.36/164.27 U91(active(x0), x1, x2) 460.36/164.27 U91(x0, active(x1), x2) 460.36/164.27 U91(x0, x1, active(x2)) 460.36/164.27 U92(mark(x0), x1, x2) 460.36/164.27 U92(x0, mark(x1), x2) 460.36/164.27 U92(x0, x1, mark(x2)) 460.36/164.27 U92(active(x0), x1, x2) 460.36/164.27 U92(x0, active(x1), x2) 460.36/164.27 U92(x0, x1, active(x2)) 460.36/164.27 U93(mark(x0), x1, x2) 460.36/164.27 U93(x0, mark(x1), x2) 460.36/164.27 U93(x0, x1, mark(x2)) 460.36/164.27 U93(active(x0), x1, x2) 460.36/164.27 U93(x0, active(x1), x2) 460.36/164.27 U93(x0, x1, active(x2)) 460.36/164.27 U94(mark(x0), x1) 460.36/164.27 U94(x0, mark(x1)) 460.36/164.27 U94(active(x0), x1) 460.36/164.27 U94(x0, active(x1)) 460.36/164.27 s(mark(x0)) 460.36/164.27 s(active(x0)) 460.36/164.27 length(mark(x0)) 460.36/164.27 length(active(x0)) 460.36/164.27 460.36/164.27 We have to consider all minimal (P,Q,R)-chains. 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (315) QDPOrderProof (EQUIVALENT) 460.36/164.27 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.27 460.36/164.27 460.36/164.27 The following pairs can be oriented strictly and are deleted. 460.36/164.27 460.36/164.27 MARK(U91(X1, X2, X3)) -> ACTIVE(U91(mark(X1), X2, X3)) 460.36/164.27 The remaining pairs can at least be oriented weakly. 460.36/164.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.27 460.36/164.27 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.27 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.27 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U44_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.27 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.27 POL( U51_2(x_1, x_2) ) = x_1 + 1 460.36/164.27 POL( U81_3(x_1, ..., x_3) ) = 0 460.36/164.27 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U83_3(x_1, ..., x_3) ) = 0 460.36/164.27 POL( U84_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.27 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.27 POL( U91_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.36/164.27 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( mark_1(x_1) ) = 1 460.36/164.27 POL( zeros ) = 2 460.36/164.27 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( cons_2(x_1, x_2) ) = 2 460.36/164.27 POL( 0 ) = 0 460.36/164.27 POL( U11_2(x_1, x_2) ) = 1 460.36/164.27 POL( tt ) = 1 460.36/164.27 POL( U12_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.27 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.27 POL( U13_1(x_1) ) = 2x_1 + 2 460.36/164.27 POL( isNatList_1(x_1) ) = 0 460.36/164.27 POL( U21_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 460.36/164.27 POL( U22_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.27 POL( isNatKind_1(x_1) ) = 0 460.36/164.27 POL( U23_1(x_1) ) = max{0, 2x_1 - 1} 460.36/164.27 POL( isNat_1(x_1) ) = 0 460.36/164.27 POL( U31_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.27 POL( U32_2(x_1, x_2) ) = max{0, 2x_1 - 1} 460.36/164.27 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.27 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.27 POL( isNatIList_1(x_1) ) = 0 460.36/164.27 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.27 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.27 POL( U94_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.27 POL( s_1(x_1) ) = max{0, -2} 460.36/164.27 POL( length_1(x_1) ) = 2 460.36/164.27 POL( U61_1(x_1) ) = 2x_1 + 1 460.36/164.27 POL( U71_1(x_1) ) = 2x_1 + 1 460.36/164.27 POL( nil ) = 0 460.36/164.27 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.27 460.36/164.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.27 none 460.36/164.27 460.36/164.27 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (316) 460.36/164.27 Obligation: 460.36/164.27 Q DP problem: 460.36/164.27 The TRS P consists of the following rules: 460.36/164.27 460.36/164.27 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.27 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.27 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.27 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.27 MARK(U46(X)) -> MARK(X) 460.36/164.27 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.27 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.27 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.27 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.27 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.27 MARK(U52(X)) -> MARK(X) 460.36/164.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.27 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.27 MARK(U61(X)) -> MARK(X) 460.36/164.27 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.27 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.27 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.27 MARK(U86(X)) -> MARK(X) 460.36/164.27 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.27 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U71(X)) -> MARK(X) 460.36/164.27 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.27 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.27 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.27 460.36/164.27 The TRS R consists of the following rules: 460.36/164.27 460.36/164.27 mark(zeros) -> active(zeros) 460.36/164.27 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.27 active(zeros) -> mark(cons(0, zeros)) 460.36/164.27 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.27 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.27 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.27 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.27 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.27 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.27 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.27 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.27 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.27 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.27 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.27 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.27 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.27 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.27 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.27 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.27 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.27 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.27 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.27 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.27 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.27 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.27 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.27 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.27 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.27 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.27 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.27 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.27 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.27 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.27 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.27 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.27 mark(s(X)) -> active(s(mark(X))) 460.36/164.27 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.27 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.27 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.27 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.27 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.27 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.27 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.27 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.27 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.27 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.27 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.27 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.27 mark(0) -> active(0) 460.36/164.27 mark(tt) -> active(tt) 460.36/164.27 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.27 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.27 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.27 mark(isNat(X)) -> active(isNat(X)) 460.36/164.27 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.27 mark(length(X)) -> active(length(mark(X))) 460.36/164.27 mark(nil) -> active(nil) 460.36/164.27 length(active(X)) -> length(X) 460.36/164.27 length(mark(X)) -> length(X) 460.36/164.27 active(U13(tt)) -> mark(tt) 460.36/164.27 active(U23(tt)) -> mark(tt) 460.36/164.27 active(U33(tt)) -> mark(tt) 460.36/164.27 active(U46(tt)) -> mark(tt) 460.36/164.27 active(U52(tt)) -> mark(tt) 460.36/164.27 active(U61(tt)) -> mark(tt) 460.36/164.27 active(U71(tt)) -> mark(tt) 460.36/164.27 active(U86(tt)) -> mark(tt) 460.36/164.27 active(isNat(0)) -> mark(tt) 460.36/164.27 active(isNatIList(zeros)) -> mark(tt) 460.36/164.27 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.27 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.27 active(isNatKind(0)) -> mark(tt) 460.36/164.27 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.27 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.27 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.27 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.27 U13(active(X)) -> U13(X) 460.36/164.27 U13(mark(X)) -> U13(X) 460.36/164.27 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.27 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.27 U23(active(X)) -> U23(X) 460.36/164.27 U23(mark(X)) -> U23(X) 460.36/164.27 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.27 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.27 U33(active(X)) -> U33(X) 460.36/164.27 U33(mark(X)) -> U33(X) 460.36/164.27 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.27 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.27 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.27 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.27 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.27 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.27 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.27 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.27 U46(active(X)) -> U46(X) 460.36/164.27 U46(mark(X)) -> U46(X) 460.36/164.27 U52(active(X)) -> U52(X) 460.36/164.27 U52(mark(X)) -> U52(X) 460.36/164.27 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.27 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.27 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.27 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.27 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.27 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.27 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.27 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.27 U86(active(X)) -> U86(X) 460.36/164.27 U86(mark(X)) -> U86(X) 460.36/164.27 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.27 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.27 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.27 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.27 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.27 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.27 s(active(X)) -> s(X) 460.36/164.27 s(mark(X)) -> s(X) 460.36/164.27 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.27 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.27 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.27 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.27 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.27 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.27 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.27 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.27 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.27 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.27 U61(active(X)) -> U61(X) 460.36/164.27 U61(mark(X)) -> U61(X) 460.36/164.27 U71(active(X)) -> U71(X) 460.36/164.27 U71(mark(X)) -> U71(X) 460.36/164.27 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.27 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.27 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.27 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.27 460.36/164.27 The set Q consists of the following terms: 460.36/164.27 460.36/164.27 active(zeros) 460.36/164.27 active(U11(tt, x0)) 460.36/164.27 active(U12(tt, x0)) 460.36/164.27 active(U13(tt)) 460.36/164.27 active(U21(tt, x0)) 460.36/164.27 active(U22(tt, x0)) 460.36/164.27 active(U23(tt)) 460.36/164.27 active(U31(tt, x0)) 460.36/164.27 active(U32(tt, x0)) 460.36/164.27 active(U33(tt)) 460.36/164.27 active(U41(tt, x0, x1)) 460.36/164.27 active(U42(tt, x0, x1)) 460.36/164.27 active(U43(tt, x0, x1)) 460.36/164.27 active(U44(tt, x0, x1)) 460.36/164.27 active(U45(tt, x0)) 460.36/164.27 active(U46(tt)) 460.36/164.27 active(U51(tt, x0)) 460.36/164.27 active(U52(tt)) 460.36/164.27 active(U61(tt)) 460.36/164.27 active(U71(tt)) 460.36/164.27 active(U81(tt, x0, x1)) 460.36/164.27 active(U82(tt, x0, x1)) 460.36/164.27 active(U83(tt, x0, x1)) 460.36/164.27 active(U84(tt, x0, x1)) 460.36/164.27 active(U85(tt, x0)) 460.36/164.27 active(U86(tt)) 460.36/164.27 active(U91(tt, x0, x1)) 460.36/164.27 active(U92(tt, x0, x1)) 460.36/164.27 active(U93(tt, x0, x1)) 460.36/164.27 active(U94(tt, x0)) 460.36/164.27 active(isNat(0)) 460.36/164.27 active(isNat(length(x0))) 460.36/164.27 active(isNat(s(x0))) 460.36/164.27 active(isNatIList(x0)) 460.36/164.27 active(isNatIListKind(nil)) 460.36/164.27 active(isNatIListKind(zeros)) 460.36/164.27 active(isNatIListKind(cons(x0, x1))) 460.36/164.27 active(isNatKind(0)) 460.36/164.27 active(isNatKind(length(x0))) 460.36/164.27 active(isNatKind(s(x0))) 460.36/164.27 active(isNatList(nil)) 460.36/164.27 active(isNatList(cons(x0, x1))) 460.36/164.27 active(length(nil)) 460.36/164.27 active(length(cons(x0, x1))) 460.36/164.27 mark(zeros) 460.36/164.27 mark(cons(x0, x1)) 460.36/164.27 mark(0) 460.36/164.27 mark(U11(x0, x1)) 460.36/164.27 mark(tt) 460.36/164.27 mark(U12(x0, x1)) 460.36/164.27 mark(isNatIListKind(x0)) 460.36/164.27 mark(U13(x0)) 460.36/164.27 mark(isNatList(x0)) 460.36/164.27 mark(U21(x0, x1)) 460.36/164.27 mark(U22(x0, x1)) 460.36/164.27 mark(isNatKind(x0)) 460.36/164.27 mark(U23(x0)) 460.36/164.27 mark(isNat(x0)) 460.36/164.27 mark(U31(x0, x1)) 460.36/164.27 mark(U32(x0, x1)) 460.36/164.27 mark(U33(x0)) 460.36/164.27 mark(U41(x0, x1, x2)) 460.36/164.27 mark(U42(x0, x1, x2)) 460.36/164.27 mark(U43(x0, x1, x2)) 460.36/164.27 mark(U44(x0, x1, x2)) 460.36/164.27 mark(U45(x0, x1)) 460.36/164.27 mark(U46(x0)) 460.36/164.27 mark(isNatIList(x0)) 460.36/164.27 mark(U51(x0, x1)) 460.36/164.27 mark(U52(x0)) 460.36/164.27 mark(U61(x0)) 460.36/164.27 mark(U71(x0)) 460.36/164.27 mark(U81(x0, x1, x2)) 460.36/164.27 mark(U82(x0, x1, x2)) 460.36/164.27 mark(U83(x0, x1, x2)) 460.36/164.27 mark(U84(x0, x1, x2)) 460.36/164.27 mark(U85(x0, x1)) 460.36/164.27 mark(U86(x0)) 460.36/164.27 mark(U91(x0, x1, x2)) 460.36/164.27 mark(U92(x0, x1, x2)) 460.36/164.27 mark(U93(x0, x1, x2)) 460.36/164.27 mark(U94(x0, x1)) 460.36/164.27 mark(s(x0)) 460.36/164.27 mark(length(x0)) 460.36/164.27 mark(nil) 460.36/164.27 cons(mark(x0), x1) 460.36/164.27 cons(x0, mark(x1)) 460.36/164.27 cons(active(x0), x1) 460.36/164.27 cons(x0, active(x1)) 460.36/164.27 U11(mark(x0), x1) 460.36/164.27 U11(x0, mark(x1)) 460.36/164.27 U11(active(x0), x1) 460.36/164.27 U11(x0, active(x1)) 460.36/164.27 U12(mark(x0), x1) 460.36/164.27 U12(x0, mark(x1)) 460.36/164.27 U12(active(x0), x1) 460.36/164.27 U12(x0, active(x1)) 460.36/164.27 isNatIListKind(mark(x0)) 460.36/164.27 isNatIListKind(active(x0)) 460.36/164.27 U13(mark(x0)) 460.36/164.27 U13(active(x0)) 460.36/164.27 isNatList(mark(x0)) 460.36/164.27 isNatList(active(x0)) 460.36/164.27 U21(mark(x0), x1) 460.36/164.27 U21(x0, mark(x1)) 460.36/164.27 U21(active(x0), x1) 460.36/164.27 U21(x0, active(x1)) 460.36/164.27 U22(mark(x0), x1) 460.36/164.27 U22(x0, mark(x1)) 460.36/164.27 U22(active(x0), x1) 460.36/164.27 U22(x0, active(x1)) 460.36/164.27 isNatKind(mark(x0)) 460.36/164.27 isNatKind(active(x0)) 460.36/164.27 U23(mark(x0)) 460.36/164.27 U23(active(x0)) 460.36/164.27 isNat(mark(x0)) 460.36/164.27 isNat(active(x0)) 460.36/164.27 U31(mark(x0), x1) 460.36/164.27 U31(x0, mark(x1)) 460.36/164.27 U31(active(x0), x1) 460.36/164.27 U31(x0, active(x1)) 460.36/164.27 U32(mark(x0), x1) 460.36/164.27 U32(x0, mark(x1)) 460.36/164.27 U32(active(x0), x1) 460.36/164.27 U32(x0, active(x1)) 460.36/164.27 U33(mark(x0)) 460.36/164.27 U33(active(x0)) 460.36/164.27 U41(mark(x0), x1, x2) 460.36/164.27 U41(x0, mark(x1), x2) 460.36/164.27 U41(x0, x1, mark(x2)) 460.36/164.27 U41(active(x0), x1, x2) 460.36/164.27 U41(x0, active(x1), x2) 460.36/164.27 U41(x0, x1, active(x2)) 460.36/164.27 U42(mark(x0), x1, x2) 460.36/164.27 U42(x0, mark(x1), x2) 460.36/164.27 U42(x0, x1, mark(x2)) 460.36/164.27 U42(active(x0), x1, x2) 460.36/164.27 U42(x0, active(x1), x2) 460.36/164.27 U42(x0, x1, active(x2)) 460.36/164.27 U43(mark(x0), x1, x2) 460.36/164.27 U43(x0, mark(x1), x2) 460.36/164.27 U43(x0, x1, mark(x2)) 460.36/164.27 U43(active(x0), x1, x2) 460.36/164.27 U43(x0, active(x1), x2) 460.36/164.27 U43(x0, x1, active(x2)) 460.36/164.27 U44(mark(x0), x1, x2) 460.36/164.27 U44(x0, mark(x1), x2) 460.36/164.27 U44(x0, x1, mark(x2)) 460.36/164.27 U44(active(x0), x1, x2) 460.36/164.27 U44(x0, active(x1), x2) 460.36/164.27 U44(x0, x1, active(x2)) 460.36/164.27 U45(mark(x0), x1) 460.36/164.27 U45(x0, mark(x1)) 460.36/164.27 U45(active(x0), x1) 460.36/164.27 U45(x0, active(x1)) 460.36/164.27 U46(mark(x0)) 460.36/164.27 U46(active(x0)) 460.36/164.27 isNatIList(mark(x0)) 460.36/164.27 isNatIList(active(x0)) 460.36/164.27 U51(mark(x0), x1) 460.36/164.27 U51(x0, mark(x1)) 460.36/164.27 U51(active(x0), x1) 460.36/164.27 U51(x0, active(x1)) 460.36/164.27 U52(mark(x0)) 460.36/164.27 U52(active(x0)) 460.36/164.27 U61(mark(x0)) 460.36/164.27 U61(active(x0)) 460.36/164.27 U71(mark(x0)) 460.36/164.27 U71(active(x0)) 460.36/164.27 U81(mark(x0), x1, x2) 460.36/164.27 U81(x0, mark(x1), x2) 460.36/164.27 U81(x0, x1, mark(x2)) 460.36/164.27 U81(active(x0), x1, x2) 460.36/164.27 U81(x0, active(x1), x2) 460.36/164.27 U81(x0, x1, active(x2)) 460.36/164.27 U82(mark(x0), x1, x2) 460.36/164.27 U82(x0, mark(x1), x2) 460.36/164.27 U82(x0, x1, mark(x2)) 460.36/164.27 U82(active(x0), x1, x2) 460.36/164.27 U82(x0, active(x1), x2) 460.36/164.27 U82(x0, x1, active(x2)) 460.36/164.27 U83(mark(x0), x1, x2) 460.36/164.27 U83(x0, mark(x1), x2) 460.36/164.27 U83(x0, x1, mark(x2)) 460.36/164.27 U83(active(x0), x1, x2) 460.36/164.27 U83(x0, active(x1), x2) 460.36/164.27 U83(x0, x1, active(x2)) 460.36/164.27 U84(mark(x0), x1, x2) 460.36/164.27 U84(x0, mark(x1), x2) 460.36/164.27 U84(x0, x1, mark(x2)) 460.36/164.27 U84(active(x0), x1, x2) 460.36/164.27 U84(x0, active(x1), x2) 460.36/164.27 U84(x0, x1, active(x2)) 460.36/164.27 U85(mark(x0), x1) 460.36/164.27 U85(x0, mark(x1)) 460.36/164.27 U85(active(x0), x1) 460.36/164.27 U85(x0, active(x1)) 460.36/164.27 U86(mark(x0)) 460.36/164.27 U86(active(x0)) 460.36/164.27 U91(mark(x0), x1, x2) 460.36/164.27 U91(x0, mark(x1), x2) 460.36/164.27 U91(x0, x1, mark(x2)) 460.36/164.27 U91(active(x0), x1, x2) 460.36/164.27 U91(x0, active(x1), x2) 460.36/164.27 U91(x0, x1, active(x2)) 460.36/164.27 U92(mark(x0), x1, x2) 460.36/164.27 U92(x0, mark(x1), x2) 460.36/164.27 U92(x0, x1, mark(x2)) 460.36/164.27 U92(active(x0), x1, x2) 460.36/164.27 U92(x0, active(x1), x2) 460.36/164.27 U92(x0, x1, active(x2)) 460.36/164.27 U93(mark(x0), x1, x2) 460.36/164.27 U93(x0, mark(x1), x2) 460.36/164.27 U93(x0, x1, mark(x2)) 460.36/164.27 U93(active(x0), x1, x2) 460.36/164.27 U93(x0, active(x1), x2) 460.36/164.27 U93(x0, x1, active(x2)) 460.36/164.27 U94(mark(x0), x1) 460.36/164.27 U94(x0, mark(x1)) 460.36/164.27 U94(active(x0), x1) 460.36/164.27 U94(x0, active(x1)) 460.36/164.27 s(mark(x0)) 460.36/164.27 s(active(x0)) 460.36/164.27 length(mark(x0)) 460.36/164.27 length(active(x0)) 460.36/164.27 460.36/164.27 We have to consider all minimal (P,Q,R)-chains. 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (317) QDPOrderProof (EQUIVALENT) 460.36/164.27 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.27 460.36/164.27 460.36/164.27 The following pairs can be oriented strictly and are deleted. 460.36/164.27 460.36/164.27 ACTIVE(U91(tt, L, N)) -> MARK(U92(isNatIListKind(L), L, N)) 460.36/164.27 The remaining pairs can at least be oriented weakly. 460.36/164.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.27 460.36/164.27 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U45_2(x_1, x_2) ) = 0 460.36/164.27 POL( U51_2(x_1, x_2) ) = 2 460.36/164.27 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.27 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.27 POL( zeros ) = 2 460.36/164.27 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.27 POL( 0 ) = 0 460.36/164.27 POL( U11_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.27 POL( tt ) = 2 460.36/164.27 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.27 POL( U13_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( isNatList_1(x_1) ) = 2 460.36/164.27 POL( U21_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.27 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( isNatKind_1(x_1) ) = 2 460.36/164.27 POL( U23_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( isNat_1(x_1) ) = x_1 460.36/164.27 POL( U31_2(x_1, x_2) ) = 2 460.36/164.27 POL( U32_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.27 POL( U33_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( U46_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( isNatIList_1(x_1) ) = 0 460.36/164.27 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( U86_1(x_1) ) = x_1 460.36/164.27 POL( U91_3(x_1, ..., x_3) ) = 2x_1 + x_2 + x_3 + 1 460.36/164.27 POL( U94_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.27 POL( s_1(x_1) ) = x_1 460.36/164.27 POL( length_1(x_1) ) = 2 460.36/164.27 POL( U61_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( U71_1(x_1) ) = x_1 + 2 460.36/164.27 POL( nil ) = 0 460.36/164.27 POL( MARK_1(x_1) ) = 0 460.36/164.27 460.36/164.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.27 460.36/164.27 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.27 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.27 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.27 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.27 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.27 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.27 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.27 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.27 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.27 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.27 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.27 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.27 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.27 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.27 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.27 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.27 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.27 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.27 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.27 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.27 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.27 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.27 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.27 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.27 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.27 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.27 460.36/164.27 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (318) 460.36/164.27 Obligation: 460.36/164.27 Q DP problem: 460.36/164.27 The TRS P consists of the following rules: 460.36/164.27 460.36/164.27 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.27 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.27 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.27 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.27 MARK(U46(X)) -> MARK(X) 460.36/164.27 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.27 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.27 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.27 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.27 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.27 MARK(U52(X)) -> MARK(X) 460.36/164.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.27 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.27 MARK(U61(X)) -> MARK(X) 460.36/164.27 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.27 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.27 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.27 MARK(U86(X)) -> MARK(X) 460.36/164.27 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.27 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U71(X)) -> MARK(X) 460.36/164.27 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.27 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.27 460.36/164.27 The TRS R consists of the following rules: 460.36/164.27 460.36/164.27 mark(zeros) -> active(zeros) 460.36/164.27 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.27 active(zeros) -> mark(cons(0, zeros)) 460.36/164.27 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.27 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.27 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.27 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.27 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.27 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.27 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.27 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.27 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.27 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.27 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.27 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.27 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.27 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.27 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.27 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.27 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.27 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.27 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.27 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.27 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.27 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.27 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.27 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.27 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.27 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.27 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.27 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.27 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.27 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.27 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.27 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.27 mark(s(X)) -> active(s(mark(X))) 460.36/164.27 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.27 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.27 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.27 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.27 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.27 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.27 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.27 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.27 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.27 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.27 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.27 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.27 mark(0) -> active(0) 460.36/164.27 mark(tt) -> active(tt) 460.36/164.27 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.27 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.27 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.27 mark(isNat(X)) -> active(isNat(X)) 460.36/164.27 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.27 mark(length(X)) -> active(length(mark(X))) 460.36/164.27 mark(nil) -> active(nil) 460.36/164.27 length(active(X)) -> length(X) 460.36/164.27 length(mark(X)) -> length(X) 460.36/164.27 active(U13(tt)) -> mark(tt) 460.36/164.27 active(U23(tt)) -> mark(tt) 460.36/164.27 active(U33(tt)) -> mark(tt) 460.36/164.27 active(U46(tt)) -> mark(tt) 460.36/164.27 active(U52(tt)) -> mark(tt) 460.36/164.27 active(U61(tt)) -> mark(tt) 460.36/164.27 active(U71(tt)) -> mark(tt) 460.36/164.27 active(U86(tt)) -> mark(tt) 460.36/164.27 active(isNat(0)) -> mark(tt) 460.36/164.27 active(isNatIList(zeros)) -> mark(tt) 460.36/164.27 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.27 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.27 active(isNatKind(0)) -> mark(tt) 460.36/164.27 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.27 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.27 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.27 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.27 U13(active(X)) -> U13(X) 460.36/164.27 U13(mark(X)) -> U13(X) 460.36/164.27 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.27 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.27 U23(active(X)) -> U23(X) 460.36/164.27 U23(mark(X)) -> U23(X) 460.36/164.27 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.27 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.27 U33(active(X)) -> U33(X) 460.36/164.27 U33(mark(X)) -> U33(X) 460.36/164.27 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.27 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.27 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.27 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.27 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.27 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.27 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.27 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.27 U46(active(X)) -> U46(X) 460.36/164.27 U46(mark(X)) -> U46(X) 460.36/164.27 U52(active(X)) -> U52(X) 460.36/164.27 U52(mark(X)) -> U52(X) 460.36/164.27 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.27 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.27 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.27 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.27 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.27 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.27 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.27 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.27 U86(active(X)) -> U86(X) 460.36/164.27 U86(mark(X)) -> U86(X) 460.36/164.27 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.27 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.27 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.27 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.27 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.27 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.27 s(active(X)) -> s(X) 460.36/164.27 s(mark(X)) -> s(X) 460.36/164.27 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.27 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.27 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.27 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.27 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.27 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.27 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.27 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.27 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.27 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.27 U61(active(X)) -> U61(X) 460.36/164.27 U61(mark(X)) -> U61(X) 460.36/164.27 U71(active(X)) -> U71(X) 460.36/164.27 U71(mark(X)) -> U71(X) 460.36/164.27 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.27 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.27 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.27 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.27 460.36/164.27 The set Q consists of the following terms: 460.36/164.27 460.36/164.27 active(zeros) 460.36/164.27 active(U11(tt, x0)) 460.36/164.27 active(U12(tt, x0)) 460.36/164.27 active(U13(tt)) 460.36/164.27 active(U21(tt, x0)) 460.36/164.27 active(U22(tt, x0)) 460.36/164.27 active(U23(tt)) 460.36/164.27 active(U31(tt, x0)) 460.36/164.27 active(U32(tt, x0)) 460.36/164.27 active(U33(tt)) 460.36/164.27 active(U41(tt, x0, x1)) 460.36/164.27 active(U42(tt, x0, x1)) 460.36/164.27 active(U43(tt, x0, x1)) 460.36/164.27 active(U44(tt, x0, x1)) 460.36/164.27 active(U45(tt, x0)) 460.36/164.27 active(U46(tt)) 460.36/164.27 active(U51(tt, x0)) 460.36/164.27 active(U52(tt)) 460.36/164.27 active(U61(tt)) 460.36/164.27 active(U71(tt)) 460.36/164.27 active(U81(tt, x0, x1)) 460.36/164.27 active(U82(tt, x0, x1)) 460.36/164.27 active(U83(tt, x0, x1)) 460.36/164.27 active(U84(tt, x0, x1)) 460.36/164.27 active(U85(tt, x0)) 460.36/164.27 active(U86(tt)) 460.36/164.27 active(U91(tt, x0, x1)) 460.36/164.27 active(U92(tt, x0, x1)) 460.36/164.27 active(U93(tt, x0, x1)) 460.36/164.27 active(U94(tt, x0)) 460.36/164.27 active(isNat(0)) 460.36/164.27 active(isNat(length(x0))) 460.36/164.27 active(isNat(s(x0))) 460.36/164.27 active(isNatIList(x0)) 460.36/164.27 active(isNatIListKind(nil)) 460.36/164.27 active(isNatIListKind(zeros)) 460.36/164.27 active(isNatIListKind(cons(x0, x1))) 460.36/164.27 active(isNatKind(0)) 460.36/164.27 active(isNatKind(length(x0))) 460.36/164.27 active(isNatKind(s(x0))) 460.36/164.27 active(isNatList(nil)) 460.36/164.27 active(isNatList(cons(x0, x1))) 460.36/164.27 active(length(nil)) 460.36/164.27 active(length(cons(x0, x1))) 460.36/164.27 mark(zeros) 460.36/164.27 mark(cons(x0, x1)) 460.36/164.27 mark(0) 460.36/164.27 mark(U11(x0, x1)) 460.36/164.27 mark(tt) 460.36/164.27 mark(U12(x0, x1)) 460.36/164.27 mark(isNatIListKind(x0)) 460.36/164.27 mark(U13(x0)) 460.36/164.27 mark(isNatList(x0)) 460.36/164.27 mark(U21(x0, x1)) 460.36/164.27 mark(U22(x0, x1)) 460.36/164.27 mark(isNatKind(x0)) 460.36/164.27 mark(U23(x0)) 460.36/164.27 mark(isNat(x0)) 460.36/164.27 mark(U31(x0, x1)) 460.36/164.27 mark(U32(x0, x1)) 460.36/164.27 mark(U33(x0)) 460.36/164.27 mark(U41(x0, x1, x2)) 460.36/164.27 mark(U42(x0, x1, x2)) 460.36/164.27 mark(U43(x0, x1, x2)) 460.36/164.27 mark(U44(x0, x1, x2)) 460.36/164.27 mark(U45(x0, x1)) 460.36/164.27 mark(U46(x0)) 460.36/164.27 mark(isNatIList(x0)) 460.36/164.27 mark(U51(x0, x1)) 460.36/164.27 mark(U52(x0)) 460.36/164.27 mark(U61(x0)) 460.36/164.27 mark(U71(x0)) 460.36/164.27 mark(U81(x0, x1, x2)) 460.36/164.27 mark(U82(x0, x1, x2)) 460.36/164.27 mark(U83(x0, x1, x2)) 460.36/164.27 mark(U84(x0, x1, x2)) 460.36/164.27 mark(U85(x0, x1)) 460.36/164.27 mark(U86(x0)) 460.36/164.27 mark(U91(x0, x1, x2)) 460.36/164.27 mark(U92(x0, x1, x2)) 460.36/164.27 mark(U93(x0, x1, x2)) 460.36/164.27 mark(U94(x0, x1)) 460.36/164.27 mark(s(x0)) 460.36/164.27 mark(length(x0)) 460.36/164.27 mark(nil) 460.36/164.27 cons(mark(x0), x1) 460.36/164.27 cons(x0, mark(x1)) 460.36/164.27 cons(active(x0), x1) 460.36/164.27 cons(x0, active(x1)) 460.36/164.27 U11(mark(x0), x1) 460.36/164.27 U11(x0, mark(x1)) 460.36/164.27 U11(active(x0), x1) 460.36/164.27 U11(x0, active(x1)) 460.36/164.27 U12(mark(x0), x1) 460.36/164.27 U12(x0, mark(x1)) 460.36/164.27 U12(active(x0), x1) 460.36/164.27 U12(x0, active(x1)) 460.36/164.27 isNatIListKind(mark(x0)) 460.36/164.27 isNatIListKind(active(x0)) 460.36/164.27 U13(mark(x0)) 460.36/164.27 U13(active(x0)) 460.36/164.27 isNatList(mark(x0)) 460.36/164.27 isNatList(active(x0)) 460.36/164.27 U21(mark(x0), x1) 460.36/164.27 U21(x0, mark(x1)) 460.36/164.27 U21(active(x0), x1) 460.36/164.27 U21(x0, active(x1)) 460.36/164.27 U22(mark(x0), x1) 460.36/164.27 U22(x0, mark(x1)) 460.36/164.27 U22(active(x0), x1) 460.36/164.27 U22(x0, active(x1)) 460.36/164.27 isNatKind(mark(x0)) 460.36/164.27 isNatKind(active(x0)) 460.36/164.27 U23(mark(x0)) 460.36/164.27 U23(active(x0)) 460.36/164.27 isNat(mark(x0)) 460.36/164.27 isNat(active(x0)) 460.36/164.27 U31(mark(x0), x1) 460.36/164.27 U31(x0, mark(x1)) 460.36/164.27 U31(active(x0), x1) 460.36/164.27 U31(x0, active(x1)) 460.36/164.27 U32(mark(x0), x1) 460.36/164.27 U32(x0, mark(x1)) 460.36/164.27 U32(active(x0), x1) 460.36/164.27 U32(x0, active(x1)) 460.36/164.27 U33(mark(x0)) 460.36/164.27 U33(active(x0)) 460.36/164.27 U41(mark(x0), x1, x2) 460.36/164.27 U41(x0, mark(x1), x2) 460.36/164.27 U41(x0, x1, mark(x2)) 460.36/164.27 U41(active(x0), x1, x2) 460.36/164.27 U41(x0, active(x1), x2) 460.36/164.27 U41(x0, x1, active(x2)) 460.36/164.27 U42(mark(x0), x1, x2) 460.36/164.27 U42(x0, mark(x1), x2) 460.36/164.27 U42(x0, x1, mark(x2)) 460.36/164.27 U42(active(x0), x1, x2) 460.36/164.27 U42(x0, active(x1), x2) 460.36/164.27 U42(x0, x1, active(x2)) 460.36/164.27 U43(mark(x0), x1, x2) 460.36/164.27 U43(x0, mark(x1), x2) 460.36/164.27 U43(x0, x1, mark(x2)) 460.36/164.27 U43(active(x0), x1, x2) 460.36/164.27 U43(x0, active(x1), x2) 460.36/164.27 U43(x0, x1, active(x2)) 460.36/164.27 U44(mark(x0), x1, x2) 460.36/164.27 U44(x0, mark(x1), x2) 460.36/164.27 U44(x0, x1, mark(x2)) 460.36/164.27 U44(active(x0), x1, x2) 460.36/164.27 U44(x0, active(x1), x2) 460.36/164.27 U44(x0, x1, active(x2)) 460.36/164.27 U45(mark(x0), x1) 460.36/164.27 U45(x0, mark(x1)) 460.36/164.27 U45(active(x0), x1) 460.36/164.27 U45(x0, active(x1)) 460.36/164.27 U46(mark(x0)) 460.36/164.27 U46(active(x0)) 460.36/164.27 isNatIList(mark(x0)) 460.36/164.27 isNatIList(active(x0)) 460.36/164.27 U51(mark(x0), x1) 460.36/164.27 U51(x0, mark(x1)) 460.36/164.27 U51(active(x0), x1) 460.36/164.27 U51(x0, active(x1)) 460.36/164.27 U52(mark(x0)) 460.36/164.27 U52(active(x0)) 460.36/164.27 U61(mark(x0)) 460.36/164.27 U61(active(x0)) 460.36/164.27 U71(mark(x0)) 460.36/164.27 U71(active(x0)) 460.36/164.27 U81(mark(x0), x1, x2) 460.36/164.27 U81(x0, mark(x1), x2) 460.36/164.27 U81(x0, x1, mark(x2)) 460.36/164.27 U81(active(x0), x1, x2) 460.36/164.27 U81(x0, active(x1), x2) 460.36/164.27 U81(x0, x1, active(x2)) 460.36/164.27 U82(mark(x0), x1, x2) 460.36/164.27 U82(x0, mark(x1), x2) 460.36/164.27 U82(x0, x1, mark(x2)) 460.36/164.27 U82(active(x0), x1, x2) 460.36/164.27 U82(x0, active(x1), x2) 460.36/164.27 U82(x0, x1, active(x2)) 460.36/164.27 U83(mark(x0), x1, x2) 460.36/164.27 U83(x0, mark(x1), x2) 460.36/164.27 U83(x0, x1, mark(x2)) 460.36/164.27 U83(active(x0), x1, x2) 460.36/164.27 U83(x0, active(x1), x2) 460.36/164.27 U83(x0, x1, active(x2)) 460.36/164.27 U84(mark(x0), x1, x2) 460.36/164.27 U84(x0, mark(x1), x2) 460.36/164.27 U84(x0, x1, mark(x2)) 460.36/164.27 U84(active(x0), x1, x2) 460.36/164.27 U84(x0, active(x1), x2) 460.36/164.27 U84(x0, x1, active(x2)) 460.36/164.27 U85(mark(x0), x1) 460.36/164.27 U85(x0, mark(x1)) 460.36/164.27 U85(active(x0), x1) 460.36/164.27 U85(x0, active(x1)) 460.36/164.27 U86(mark(x0)) 460.36/164.27 U86(active(x0)) 460.36/164.27 U91(mark(x0), x1, x2) 460.36/164.27 U91(x0, mark(x1), x2) 460.36/164.27 U91(x0, x1, mark(x2)) 460.36/164.27 U91(active(x0), x1, x2) 460.36/164.27 U91(x0, active(x1), x2) 460.36/164.27 U91(x0, x1, active(x2)) 460.36/164.27 U92(mark(x0), x1, x2) 460.36/164.27 U92(x0, mark(x1), x2) 460.36/164.27 U92(x0, x1, mark(x2)) 460.36/164.27 U92(active(x0), x1, x2) 460.36/164.27 U92(x0, active(x1), x2) 460.36/164.27 U92(x0, x1, active(x2)) 460.36/164.27 U93(mark(x0), x1, x2) 460.36/164.27 U93(x0, mark(x1), x2) 460.36/164.27 U93(x0, x1, mark(x2)) 460.36/164.27 U93(active(x0), x1, x2) 460.36/164.27 U93(x0, active(x1), x2) 460.36/164.27 U93(x0, x1, active(x2)) 460.36/164.27 U94(mark(x0), x1) 460.36/164.27 U94(x0, mark(x1)) 460.36/164.27 U94(active(x0), x1) 460.36/164.27 U94(x0, active(x1)) 460.36/164.27 s(mark(x0)) 460.36/164.27 s(active(x0)) 460.36/164.27 length(mark(x0)) 460.36/164.27 length(active(x0)) 460.36/164.27 460.36/164.27 We have to consider all minimal (P,Q,R)-chains. 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (319) QDPOrderProof (EQUIVALENT) 460.36/164.27 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.27 460.36/164.27 460.36/164.27 The following pairs can be oriented strictly and are deleted. 460.36/164.27 460.36/164.27 MARK(U92(X1, X2, X3)) -> ACTIVE(U92(mark(X1), X2, X3)) 460.36/164.27 The remaining pairs can at least be oriented weakly. 460.36/164.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.27 460.36/164.27 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.27 POL( U41_3(x_1, ..., x_3) ) = 0 460.36/164.27 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.27 POL( U43_3(x_1, ..., x_3) ) = 1 460.36/164.27 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.27 POL( U51_2(x_1, x_2) ) = 2x_1 + 1 460.36/164.27 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.27 POL( U92_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 460.36/164.27 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( mark_1(x_1) ) = 1 460.36/164.27 POL( zeros ) = 0 460.36/164.27 POL( active_1(x_1) ) = max{0, -2} 460.36/164.27 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( 0 ) = 0 460.36/164.27 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 1} 460.36/164.27 POL( tt ) = 0 460.36/164.27 POL( U12_2(x_1, x_2) ) = 2 460.36/164.27 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.27 POL( U13_1(x_1) ) = 0 460.36/164.27 POL( isNatList_1(x_1) ) = 0 460.36/164.27 POL( U21_2(x_1, x_2) ) = x_1 + 2 460.36/164.27 POL( U22_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.27 POL( isNatKind_1(x_1) ) = 0 460.36/164.27 POL( U23_1(x_1) ) = 2 460.36/164.27 POL( isNat_1(x_1) ) = 0 460.36/164.27 POL( U31_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.27 POL( U32_2(x_1, x_2) ) = 2 460.36/164.27 POL( U33_1(x_1) ) = 1 460.36/164.27 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.27 POL( isNatIList_1(x_1) ) = 0 460.36/164.27 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.27 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.27 POL( U91_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.36/164.27 POL( U94_2(x_1, x_2) ) = x_1 + 2 460.36/164.27 POL( s_1(x_1) ) = 2 460.36/164.27 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( U61_1(x_1) ) = x_1 + 1 460.36/164.27 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.27 POL( nil ) = 0 460.36/164.27 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.27 460.36/164.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.27 none 460.36/164.27 460.36/164.27 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (320) 460.36/164.27 Obligation: 460.36/164.27 Q DP problem: 460.36/164.27 The TRS P consists of the following rules: 460.36/164.27 460.36/164.27 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.27 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.27 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.27 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.27 MARK(U46(X)) -> MARK(X) 460.36/164.27 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.27 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.27 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.27 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.27 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.27 MARK(U52(X)) -> MARK(X) 460.36/164.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.27 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.27 MARK(U61(X)) -> MARK(X) 460.36/164.27 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.27 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.27 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.27 MARK(U86(X)) -> MARK(X) 460.36/164.27 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.27 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U71(X)) -> MARK(X) 460.36/164.27 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.27 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.27 460.36/164.27 The TRS R consists of the following rules: 460.36/164.27 460.36/164.27 mark(zeros) -> active(zeros) 460.36/164.27 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.27 active(zeros) -> mark(cons(0, zeros)) 460.36/164.27 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.27 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.27 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.27 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.27 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.27 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.27 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.27 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.27 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.27 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.27 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.27 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.27 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.27 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.27 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.27 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.27 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.27 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.27 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.27 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.27 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.27 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.27 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.27 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.27 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.27 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.27 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.27 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.27 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.27 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.27 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.27 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.27 mark(s(X)) -> active(s(mark(X))) 460.36/164.27 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.27 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.27 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.27 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.27 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.27 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.27 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.27 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.27 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.27 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.27 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.27 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.27 mark(0) -> active(0) 460.36/164.27 mark(tt) -> active(tt) 460.36/164.27 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.27 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.27 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.27 mark(isNat(X)) -> active(isNat(X)) 460.36/164.27 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.27 mark(length(X)) -> active(length(mark(X))) 460.36/164.27 mark(nil) -> active(nil) 460.36/164.27 length(active(X)) -> length(X) 460.36/164.27 length(mark(X)) -> length(X) 460.36/164.27 active(U13(tt)) -> mark(tt) 460.36/164.27 active(U23(tt)) -> mark(tt) 460.36/164.27 active(U33(tt)) -> mark(tt) 460.36/164.27 active(U46(tt)) -> mark(tt) 460.36/164.27 active(U52(tt)) -> mark(tt) 460.36/164.27 active(U61(tt)) -> mark(tt) 460.36/164.27 active(U71(tt)) -> mark(tt) 460.36/164.27 active(U86(tt)) -> mark(tt) 460.36/164.27 active(isNat(0)) -> mark(tt) 460.36/164.27 active(isNatIList(zeros)) -> mark(tt) 460.36/164.27 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.27 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.27 active(isNatKind(0)) -> mark(tt) 460.36/164.27 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.27 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.27 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.27 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.27 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.27 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.27 U13(active(X)) -> U13(X) 460.36/164.27 U13(mark(X)) -> U13(X) 460.36/164.27 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.27 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.27 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.27 U23(active(X)) -> U23(X) 460.36/164.27 U23(mark(X)) -> U23(X) 460.36/164.27 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.27 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.27 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.27 U33(active(X)) -> U33(X) 460.36/164.27 U33(mark(X)) -> U33(X) 460.36/164.27 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.27 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.27 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.27 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.27 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.27 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.27 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.27 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.27 U46(active(X)) -> U46(X) 460.36/164.27 U46(mark(X)) -> U46(X) 460.36/164.27 U52(active(X)) -> U52(X) 460.36/164.27 U52(mark(X)) -> U52(X) 460.36/164.27 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.27 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.27 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.27 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.27 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.27 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.27 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.27 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.27 U86(active(X)) -> U86(X) 460.36/164.27 U86(mark(X)) -> U86(X) 460.36/164.27 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.27 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.27 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.27 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.27 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.27 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.27 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.27 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.27 s(active(X)) -> s(X) 460.36/164.27 s(mark(X)) -> s(X) 460.36/164.27 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.27 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.27 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.27 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.27 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.27 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.27 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.27 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.27 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.27 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.27 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.27 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.27 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.27 U61(active(X)) -> U61(X) 460.36/164.27 U61(mark(X)) -> U61(X) 460.36/164.27 U71(active(X)) -> U71(X) 460.36/164.27 U71(mark(X)) -> U71(X) 460.36/164.27 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.27 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.27 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.27 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.27 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.27 460.36/164.27 The set Q consists of the following terms: 460.36/164.27 460.36/164.27 active(zeros) 460.36/164.27 active(U11(tt, x0)) 460.36/164.27 active(U12(tt, x0)) 460.36/164.27 active(U13(tt)) 460.36/164.27 active(U21(tt, x0)) 460.36/164.27 active(U22(tt, x0)) 460.36/164.27 active(U23(tt)) 460.36/164.27 active(U31(tt, x0)) 460.36/164.27 active(U32(tt, x0)) 460.36/164.27 active(U33(tt)) 460.36/164.27 active(U41(tt, x0, x1)) 460.36/164.27 active(U42(tt, x0, x1)) 460.36/164.27 active(U43(tt, x0, x1)) 460.36/164.27 active(U44(tt, x0, x1)) 460.36/164.27 active(U45(tt, x0)) 460.36/164.27 active(U46(tt)) 460.36/164.27 active(U51(tt, x0)) 460.36/164.27 active(U52(tt)) 460.36/164.27 active(U61(tt)) 460.36/164.27 active(U71(tt)) 460.36/164.27 active(U81(tt, x0, x1)) 460.36/164.27 active(U82(tt, x0, x1)) 460.36/164.27 active(U83(tt, x0, x1)) 460.36/164.27 active(U84(tt, x0, x1)) 460.36/164.27 active(U85(tt, x0)) 460.36/164.27 active(U86(tt)) 460.36/164.27 active(U91(tt, x0, x1)) 460.36/164.27 active(U92(tt, x0, x1)) 460.36/164.27 active(U93(tt, x0, x1)) 460.36/164.27 active(U94(tt, x0)) 460.36/164.27 active(isNat(0)) 460.36/164.27 active(isNat(length(x0))) 460.36/164.27 active(isNat(s(x0))) 460.36/164.27 active(isNatIList(x0)) 460.36/164.27 active(isNatIListKind(nil)) 460.36/164.27 active(isNatIListKind(zeros)) 460.36/164.27 active(isNatIListKind(cons(x0, x1))) 460.36/164.27 active(isNatKind(0)) 460.36/164.27 active(isNatKind(length(x0))) 460.36/164.27 active(isNatKind(s(x0))) 460.36/164.27 active(isNatList(nil)) 460.36/164.27 active(isNatList(cons(x0, x1))) 460.36/164.27 active(length(nil)) 460.36/164.27 active(length(cons(x0, x1))) 460.36/164.27 mark(zeros) 460.36/164.27 mark(cons(x0, x1)) 460.36/164.27 mark(0) 460.36/164.27 mark(U11(x0, x1)) 460.36/164.27 mark(tt) 460.36/164.27 mark(U12(x0, x1)) 460.36/164.27 mark(isNatIListKind(x0)) 460.36/164.27 mark(U13(x0)) 460.36/164.27 mark(isNatList(x0)) 460.36/164.27 mark(U21(x0, x1)) 460.36/164.27 mark(U22(x0, x1)) 460.36/164.27 mark(isNatKind(x0)) 460.36/164.27 mark(U23(x0)) 460.36/164.27 mark(isNat(x0)) 460.36/164.27 mark(U31(x0, x1)) 460.36/164.27 mark(U32(x0, x1)) 460.36/164.27 mark(U33(x0)) 460.36/164.27 mark(U41(x0, x1, x2)) 460.36/164.27 mark(U42(x0, x1, x2)) 460.36/164.27 mark(U43(x0, x1, x2)) 460.36/164.27 mark(U44(x0, x1, x2)) 460.36/164.27 mark(U45(x0, x1)) 460.36/164.27 mark(U46(x0)) 460.36/164.27 mark(isNatIList(x0)) 460.36/164.27 mark(U51(x0, x1)) 460.36/164.27 mark(U52(x0)) 460.36/164.27 mark(U61(x0)) 460.36/164.27 mark(U71(x0)) 460.36/164.27 mark(U81(x0, x1, x2)) 460.36/164.27 mark(U82(x0, x1, x2)) 460.36/164.27 mark(U83(x0, x1, x2)) 460.36/164.27 mark(U84(x0, x1, x2)) 460.36/164.27 mark(U85(x0, x1)) 460.36/164.27 mark(U86(x0)) 460.36/164.27 mark(U91(x0, x1, x2)) 460.36/164.27 mark(U92(x0, x1, x2)) 460.36/164.27 mark(U93(x0, x1, x2)) 460.36/164.27 mark(U94(x0, x1)) 460.36/164.27 mark(s(x0)) 460.36/164.27 mark(length(x0)) 460.36/164.27 mark(nil) 460.36/164.27 cons(mark(x0), x1) 460.36/164.27 cons(x0, mark(x1)) 460.36/164.27 cons(active(x0), x1) 460.36/164.27 cons(x0, active(x1)) 460.36/164.27 U11(mark(x0), x1) 460.36/164.27 U11(x0, mark(x1)) 460.36/164.27 U11(active(x0), x1) 460.36/164.27 U11(x0, active(x1)) 460.36/164.27 U12(mark(x0), x1) 460.36/164.27 U12(x0, mark(x1)) 460.36/164.27 U12(active(x0), x1) 460.36/164.27 U12(x0, active(x1)) 460.36/164.27 isNatIListKind(mark(x0)) 460.36/164.27 isNatIListKind(active(x0)) 460.36/164.27 U13(mark(x0)) 460.36/164.27 U13(active(x0)) 460.36/164.27 isNatList(mark(x0)) 460.36/164.27 isNatList(active(x0)) 460.36/164.27 U21(mark(x0), x1) 460.36/164.27 U21(x0, mark(x1)) 460.36/164.27 U21(active(x0), x1) 460.36/164.27 U21(x0, active(x1)) 460.36/164.27 U22(mark(x0), x1) 460.36/164.27 U22(x0, mark(x1)) 460.36/164.27 U22(active(x0), x1) 460.36/164.27 U22(x0, active(x1)) 460.36/164.27 isNatKind(mark(x0)) 460.36/164.27 isNatKind(active(x0)) 460.36/164.27 U23(mark(x0)) 460.36/164.27 U23(active(x0)) 460.36/164.27 isNat(mark(x0)) 460.36/164.27 isNat(active(x0)) 460.36/164.27 U31(mark(x0), x1) 460.36/164.27 U31(x0, mark(x1)) 460.36/164.27 U31(active(x0), x1) 460.36/164.27 U31(x0, active(x1)) 460.36/164.27 U32(mark(x0), x1) 460.36/164.27 U32(x0, mark(x1)) 460.36/164.27 U32(active(x0), x1) 460.36/164.27 U32(x0, active(x1)) 460.36/164.27 U33(mark(x0)) 460.36/164.27 U33(active(x0)) 460.36/164.27 U41(mark(x0), x1, x2) 460.36/164.27 U41(x0, mark(x1), x2) 460.36/164.27 U41(x0, x1, mark(x2)) 460.36/164.27 U41(active(x0), x1, x2) 460.36/164.27 U41(x0, active(x1), x2) 460.36/164.27 U41(x0, x1, active(x2)) 460.36/164.27 U42(mark(x0), x1, x2) 460.36/164.27 U42(x0, mark(x1), x2) 460.36/164.27 U42(x0, x1, mark(x2)) 460.36/164.27 U42(active(x0), x1, x2) 460.36/164.27 U42(x0, active(x1), x2) 460.36/164.27 U42(x0, x1, active(x2)) 460.36/164.27 U43(mark(x0), x1, x2) 460.36/164.27 U43(x0, mark(x1), x2) 460.36/164.27 U43(x0, x1, mark(x2)) 460.36/164.27 U43(active(x0), x1, x2) 460.36/164.27 U43(x0, active(x1), x2) 460.36/164.27 U43(x0, x1, active(x2)) 460.36/164.27 U44(mark(x0), x1, x2) 460.36/164.27 U44(x0, mark(x1), x2) 460.36/164.27 U44(x0, x1, mark(x2)) 460.36/164.27 U44(active(x0), x1, x2) 460.36/164.27 U44(x0, active(x1), x2) 460.36/164.27 U44(x0, x1, active(x2)) 460.36/164.27 U45(mark(x0), x1) 460.36/164.27 U45(x0, mark(x1)) 460.36/164.27 U45(active(x0), x1) 460.36/164.27 U45(x0, active(x1)) 460.36/164.27 U46(mark(x0)) 460.36/164.27 U46(active(x0)) 460.36/164.27 isNatIList(mark(x0)) 460.36/164.27 isNatIList(active(x0)) 460.36/164.27 U51(mark(x0), x1) 460.36/164.27 U51(x0, mark(x1)) 460.36/164.27 U51(active(x0), x1) 460.36/164.27 U51(x0, active(x1)) 460.36/164.27 U52(mark(x0)) 460.36/164.27 U52(active(x0)) 460.36/164.27 U61(mark(x0)) 460.36/164.27 U61(active(x0)) 460.36/164.27 U71(mark(x0)) 460.36/164.27 U71(active(x0)) 460.36/164.27 U81(mark(x0), x1, x2) 460.36/164.27 U81(x0, mark(x1), x2) 460.36/164.27 U81(x0, x1, mark(x2)) 460.36/164.27 U81(active(x0), x1, x2) 460.36/164.27 U81(x0, active(x1), x2) 460.36/164.27 U81(x0, x1, active(x2)) 460.36/164.27 U82(mark(x0), x1, x2) 460.36/164.27 U82(x0, mark(x1), x2) 460.36/164.27 U82(x0, x1, mark(x2)) 460.36/164.27 U82(active(x0), x1, x2) 460.36/164.27 U82(x0, active(x1), x2) 460.36/164.27 U82(x0, x1, active(x2)) 460.36/164.27 U83(mark(x0), x1, x2) 460.36/164.27 U83(x0, mark(x1), x2) 460.36/164.27 U83(x0, x1, mark(x2)) 460.36/164.27 U83(active(x0), x1, x2) 460.36/164.27 U83(x0, active(x1), x2) 460.36/164.27 U83(x0, x1, active(x2)) 460.36/164.27 U84(mark(x0), x1, x2) 460.36/164.27 U84(x0, mark(x1), x2) 460.36/164.27 U84(x0, x1, mark(x2)) 460.36/164.27 U84(active(x0), x1, x2) 460.36/164.27 U84(x0, active(x1), x2) 460.36/164.27 U84(x0, x1, active(x2)) 460.36/164.27 U85(mark(x0), x1) 460.36/164.27 U85(x0, mark(x1)) 460.36/164.27 U85(active(x0), x1) 460.36/164.27 U85(x0, active(x1)) 460.36/164.27 U86(mark(x0)) 460.36/164.27 U86(active(x0)) 460.36/164.27 U91(mark(x0), x1, x2) 460.36/164.27 U91(x0, mark(x1), x2) 460.36/164.27 U91(x0, x1, mark(x2)) 460.36/164.27 U91(active(x0), x1, x2) 460.36/164.27 U91(x0, active(x1), x2) 460.36/164.27 U91(x0, x1, active(x2)) 460.36/164.27 U92(mark(x0), x1, x2) 460.36/164.27 U92(x0, mark(x1), x2) 460.36/164.27 U92(x0, x1, mark(x2)) 460.36/164.27 U92(active(x0), x1, x2) 460.36/164.27 U92(x0, active(x1), x2) 460.36/164.27 U92(x0, x1, active(x2)) 460.36/164.27 U93(mark(x0), x1, x2) 460.36/164.27 U93(x0, mark(x1), x2) 460.36/164.27 U93(x0, x1, mark(x2)) 460.36/164.27 U93(active(x0), x1, x2) 460.36/164.27 U93(x0, active(x1), x2) 460.36/164.27 U93(x0, x1, active(x2)) 460.36/164.27 U94(mark(x0), x1) 460.36/164.27 U94(x0, mark(x1)) 460.36/164.27 U94(active(x0), x1) 460.36/164.27 U94(x0, active(x1)) 460.36/164.27 s(mark(x0)) 460.36/164.27 s(active(x0)) 460.36/164.27 length(mark(x0)) 460.36/164.27 length(active(x0)) 460.36/164.27 460.36/164.27 We have to consider all minimal (P,Q,R)-chains. 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (321) QDPOrderProof (EQUIVALENT) 460.36/164.27 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.27 460.36/164.27 460.36/164.27 The following pairs can be oriented strictly and are deleted. 460.36/164.27 460.36/164.27 ACTIVE(U92(tt, L, N)) -> MARK(U93(isNat(N), L, N)) 460.36/164.27 The remaining pairs can at least be oriented weakly. 460.36/164.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.27 460.36/164.27 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.27 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U45_2(x_1, x_2) ) = 2 460.36/164.27 POL( U51_2(x_1, x_2) ) = 2 460.36/164.27 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.27 POL( U84_3(x_1, ..., x_3) ) = 0 460.36/164.27 POL( U85_2(x_1, x_2) ) = 0 460.36/164.27 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.27 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.27 POL( zeros ) = 0 460.36/164.27 POL( active_1(x_1) ) = 2 460.36/164.27 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.27 POL( 0 ) = 0 460.36/164.27 POL( U11_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.27 POL( tt ) = 2 460.36/164.27 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.27 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.27 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.27 POL( isNatList_1(x_1) ) = 2 460.36/164.27 POL( U21_2(x_1, x_2) ) = 2 460.36/164.27 POL( U22_2(x_1, x_2) ) = x_2 460.36/164.27 POL( isNatKind_1(x_1) ) = 0 460.36/164.27 POL( U23_1(x_1) ) = x_1 + 1 460.36/164.27 POL( isNat_1(x_1) ) = 1 460.36/164.27 POL( U31_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( U32_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.27 POL( U33_1(x_1) ) = x_1 460.36/164.27 POL( U46_1(x_1) ) = x_1 460.36/164.27 POL( isNatIList_1(x_1) ) = 0 460.36/164.27 POL( U52_1(x_1) ) = x_1 460.36/164.27 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( U91_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.27 POL( U92_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 460.36/164.27 POL( U94_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( s_1(x_1) ) = 0 460.36/164.27 POL( length_1(x_1) ) = 2 460.36/164.27 POL( U61_1(x_1) ) = 1 460.36/164.27 POL( U71_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.27 POL( nil ) = 0 460.36/164.27 POL( MARK_1(x_1) ) = max{0, -2} 460.36/164.27 460.36/164.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.27 460.36/164.27 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.27 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.27 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.27 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.27 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.27 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.27 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.27 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.27 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.27 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.27 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.27 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.27 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.27 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.27 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.27 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.27 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.27 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.27 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.27 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.27 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.27 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.27 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.27 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.27 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.27 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.27 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.27 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.27 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.27 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.27 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.27 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.27 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.27 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.27 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.27 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.27 460.36/164.27 460.36/164.27 ---------------------------------------- 460.36/164.27 460.36/164.27 (322) 460.36/164.27 Obligation: 460.36/164.27 Q DP problem: 460.36/164.27 The TRS P consists of the following rules: 460.36/164.27 460.36/164.27 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.27 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.27 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.27 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.27 MARK(U46(X)) -> MARK(X) 460.36/164.27 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.27 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.27 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.27 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.27 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.27 MARK(U52(X)) -> MARK(X) 460.36/164.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.27 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.27 MARK(U61(X)) -> MARK(X) 460.36/164.27 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.27 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.27 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.27 MARK(U86(X)) -> MARK(X) 460.36/164.27 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.27 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.27 MARK(U71(X)) -> MARK(X) 460.36/164.27 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.27 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.27 460.36/164.27 The TRS R consists of the following rules: 460.36/164.27 460.36/164.27 mark(zeros) -> active(zeros) 460.36/164.27 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.27 active(zeros) -> mark(cons(0, zeros)) 460.36/164.27 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.27 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.27 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.27 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.27 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.27 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.27 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.27 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.27 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.27 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.27 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.27 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.27 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.27 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.27 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.27 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.27 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.27 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.27 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.27 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.27 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.27 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.27 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.27 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.27 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.27 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.27 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.27 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.27 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.27 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.27 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.27 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.27 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.27 mark(s(X)) -> active(s(mark(X))) 460.36/164.27 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.27 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.27 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.27 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.27 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.28 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.28 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.28 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.28 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.28 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.28 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.28 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.28 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.28 mark(0) -> active(0) 460.36/164.28 mark(tt) -> active(tt) 460.36/164.28 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.28 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.28 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.28 mark(isNat(X)) -> active(isNat(X)) 460.36/164.28 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.28 mark(length(X)) -> active(length(mark(X))) 460.36/164.28 mark(nil) -> active(nil) 460.36/164.28 length(active(X)) -> length(X) 460.36/164.28 length(mark(X)) -> length(X) 460.36/164.28 active(U13(tt)) -> mark(tt) 460.36/164.28 active(U23(tt)) -> mark(tt) 460.36/164.28 active(U33(tt)) -> mark(tt) 460.36/164.28 active(U46(tt)) -> mark(tt) 460.36/164.28 active(U52(tt)) -> mark(tt) 460.36/164.28 active(U61(tt)) -> mark(tt) 460.36/164.28 active(U71(tt)) -> mark(tt) 460.36/164.28 active(U86(tt)) -> mark(tt) 460.36/164.28 active(isNat(0)) -> mark(tt) 460.36/164.28 active(isNatIList(zeros)) -> mark(tt) 460.36/164.28 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.28 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.28 active(isNatKind(0)) -> mark(tt) 460.36/164.28 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.28 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.28 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.28 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.28 U13(active(X)) -> U13(X) 460.36/164.28 U13(mark(X)) -> U13(X) 460.36/164.28 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.28 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.28 U23(active(X)) -> U23(X) 460.36/164.28 U23(mark(X)) -> U23(X) 460.36/164.28 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.28 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.28 U33(active(X)) -> U33(X) 460.36/164.28 U33(mark(X)) -> U33(X) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U46(active(X)) -> U46(X) 460.36/164.28 U46(mark(X)) -> U46(X) 460.36/164.28 U52(active(X)) -> U52(X) 460.36/164.28 U52(mark(X)) -> U52(X) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 U86(active(X)) -> U86(X) 460.36/164.28 U86(mark(X)) -> U86(X) 460.36/164.28 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.28 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.28 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.28 s(active(X)) -> s(X) 460.36/164.28 s(mark(X)) -> s(X) 460.36/164.28 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.28 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.28 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.28 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.28 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.28 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U61(active(X)) -> U61(X) 460.36/164.28 U61(mark(X)) -> U61(X) 460.36/164.28 U71(active(X)) -> U71(X) 460.36/164.28 U71(mark(X)) -> U71(X) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.28 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.28 460.36/164.28 The set Q consists of the following terms: 460.36/164.28 460.36/164.28 active(zeros) 460.36/164.28 active(U11(tt, x0)) 460.36/164.28 active(U12(tt, x0)) 460.36/164.28 active(U13(tt)) 460.36/164.28 active(U21(tt, x0)) 460.36/164.28 active(U22(tt, x0)) 460.36/164.28 active(U23(tt)) 460.36/164.28 active(U31(tt, x0)) 460.36/164.28 active(U32(tt, x0)) 460.36/164.28 active(U33(tt)) 460.36/164.28 active(U41(tt, x0, x1)) 460.36/164.28 active(U42(tt, x0, x1)) 460.36/164.28 active(U43(tt, x0, x1)) 460.36/164.28 active(U44(tt, x0, x1)) 460.36/164.28 active(U45(tt, x0)) 460.36/164.28 active(U46(tt)) 460.36/164.28 active(U51(tt, x0)) 460.36/164.28 active(U52(tt)) 460.36/164.28 active(U61(tt)) 460.36/164.28 active(U71(tt)) 460.36/164.28 active(U81(tt, x0, x1)) 460.36/164.28 active(U82(tt, x0, x1)) 460.36/164.28 active(U83(tt, x0, x1)) 460.36/164.28 active(U84(tt, x0, x1)) 460.36/164.28 active(U85(tt, x0)) 460.36/164.28 active(U86(tt)) 460.36/164.28 active(U91(tt, x0, x1)) 460.36/164.28 active(U92(tt, x0, x1)) 460.36/164.28 active(U93(tt, x0, x1)) 460.36/164.28 active(U94(tt, x0)) 460.36/164.28 active(isNat(0)) 460.36/164.28 active(isNat(length(x0))) 460.36/164.28 active(isNat(s(x0))) 460.36/164.28 active(isNatIList(x0)) 460.36/164.28 active(isNatIListKind(nil)) 460.36/164.28 active(isNatIListKind(zeros)) 460.36/164.28 active(isNatIListKind(cons(x0, x1))) 460.36/164.28 active(isNatKind(0)) 460.36/164.28 active(isNatKind(length(x0))) 460.36/164.28 active(isNatKind(s(x0))) 460.36/164.28 active(isNatList(nil)) 460.36/164.28 active(isNatList(cons(x0, x1))) 460.36/164.28 active(length(nil)) 460.36/164.28 active(length(cons(x0, x1))) 460.36/164.28 mark(zeros) 460.36/164.28 mark(cons(x0, x1)) 460.36/164.28 mark(0) 460.36/164.28 mark(U11(x0, x1)) 460.36/164.28 mark(tt) 460.36/164.28 mark(U12(x0, x1)) 460.36/164.28 mark(isNatIListKind(x0)) 460.36/164.28 mark(U13(x0)) 460.36/164.28 mark(isNatList(x0)) 460.36/164.28 mark(U21(x0, x1)) 460.36/164.28 mark(U22(x0, x1)) 460.36/164.28 mark(isNatKind(x0)) 460.36/164.28 mark(U23(x0)) 460.36/164.28 mark(isNat(x0)) 460.36/164.28 mark(U31(x0, x1)) 460.36/164.28 mark(U32(x0, x1)) 460.36/164.28 mark(U33(x0)) 460.36/164.28 mark(U41(x0, x1, x2)) 460.36/164.28 mark(U42(x0, x1, x2)) 460.36/164.28 mark(U43(x0, x1, x2)) 460.36/164.28 mark(U44(x0, x1, x2)) 460.36/164.28 mark(U45(x0, x1)) 460.36/164.28 mark(U46(x0)) 460.36/164.28 mark(isNatIList(x0)) 460.36/164.28 mark(U51(x0, x1)) 460.36/164.28 mark(U52(x0)) 460.36/164.28 mark(U61(x0)) 460.36/164.28 mark(U71(x0)) 460.36/164.28 mark(U81(x0, x1, x2)) 460.36/164.28 mark(U82(x0, x1, x2)) 460.36/164.28 mark(U83(x0, x1, x2)) 460.36/164.28 mark(U84(x0, x1, x2)) 460.36/164.28 mark(U85(x0, x1)) 460.36/164.28 mark(U86(x0)) 460.36/164.28 mark(U91(x0, x1, x2)) 460.36/164.28 mark(U92(x0, x1, x2)) 460.36/164.28 mark(U93(x0, x1, x2)) 460.36/164.28 mark(U94(x0, x1)) 460.36/164.28 mark(s(x0)) 460.36/164.28 mark(length(x0)) 460.36/164.28 mark(nil) 460.36/164.28 cons(mark(x0), x1) 460.36/164.28 cons(x0, mark(x1)) 460.36/164.28 cons(active(x0), x1) 460.36/164.28 cons(x0, active(x1)) 460.36/164.28 U11(mark(x0), x1) 460.36/164.28 U11(x0, mark(x1)) 460.36/164.28 U11(active(x0), x1) 460.36/164.28 U11(x0, active(x1)) 460.36/164.28 U12(mark(x0), x1) 460.36/164.28 U12(x0, mark(x1)) 460.36/164.28 U12(active(x0), x1) 460.36/164.28 U12(x0, active(x1)) 460.36/164.28 isNatIListKind(mark(x0)) 460.36/164.28 isNatIListKind(active(x0)) 460.36/164.28 U13(mark(x0)) 460.36/164.28 U13(active(x0)) 460.36/164.28 isNatList(mark(x0)) 460.36/164.28 isNatList(active(x0)) 460.36/164.28 U21(mark(x0), x1) 460.36/164.28 U21(x0, mark(x1)) 460.36/164.28 U21(active(x0), x1) 460.36/164.28 U21(x0, active(x1)) 460.36/164.28 U22(mark(x0), x1) 460.36/164.28 U22(x0, mark(x1)) 460.36/164.28 U22(active(x0), x1) 460.36/164.28 U22(x0, active(x1)) 460.36/164.28 isNatKind(mark(x0)) 460.36/164.28 isNatKind(active(x0)) 460.36/164.28 U23(mark(x0)) 460.36/164.28 U23(active(x0)) 460.36/164.28 isNat(mark(x0)) 460.36/164.28 isNat(active(x0)) 460.36/164.28 U31(mark(x0), x1) 460.36/164.28 U31(x0, mark(x1)) 460.36/164.28 U31(active(x0), x1) 460.36/164.28 U31(x0, active(x1)) 460.36/164.28 U32(mark(x0), x1) 460.36/164.28 U32(x0, mark(x1)) 460.36/164.28 U32(active(x0), x1) 460.36/164.28 U32(x0, active(x1)) 460.36/164.28 U33(mark(x0)) 460.36/164.28 U33(active(x0)) 460.36/164.28 U41(mark(x0), x1, x2) 460.36/164.28 U41(x0, mark(x1), x2) 460.36/164.28 U41(x0, x1, mark(x2)) 460.36/164.28 U41(active(x0), x1, x2) 460.36/164.28 U41(x0, active(x1), x2) 460.36/164.28 U41(x0, x1, active(x2)) 460.36/164.28 U42(mark(x0), x1, x2) 460.36/164.28 U42(x0, mark(x1), x2) 460.36/164.28 U42(x0, x1, mark(x2)) 460.36/164.28 U42(active(x0), x1, x2) 460.36/164.28 U42(x0, active(x1), x2) 460.36/164.28 U42(x0, x1, active(x2)) 460.36/164.28 U43(mark(x0), x1, x2) 460.36/164.28 U43(x0, mark(x1), x2) 460.36/164.28 U43(x0, x1, mark(x2)) 460.36/164.28 U43(active(x0), x1, x2) 460.36/164.28 U43(x0, active(x1), x2) 460.36/164.28 U43(x0, x1, active(x2)) 460.36/164.28 U44(mark(x0), x1, x2) 460.36/164.28 U44(x0, mark(x1), x2) 460.36/164.28 U44(x0, x1, mark(x2)) 460.36/164.28 U44(active(x0), x1, x2) 460.36/164.28 U44(x0, active(x1), x2) 460.36/164.28 U44(x0, x1, active(x2)) 460.36/164.28 U45(mark(x0), x1) 460.36/164.28 U45(x0, mark(x1)) 460.36/164.28 U45(active(x0), x1) 460.36/164.28 U45(x0, active(x1)) 460.36/164.28 U46(mark(x0)) 460.36/164.28 U46(active(x0)) 460.36/164.28 isNatIList(mark(x0)) 460.36/164.28 isNatIList(active(x0)) 460.36/164.28 U51(mark(x0), x1) 460.36/164.28 U51(x0, mark(x1)) 460.36/164.28 U51(active(x0), x1) 460.36/164.28 U51(x0, active(x1)) 460.36/164.28 U52(mark(x0)) 460.36/164.28 U52(active(x0)) 460.36/164.28 U61(mark(x0)) 460.36/164.28 U61(active(x0)) 460.36/164.28 U71(mark(x0)) 460.36/164.28 U71(active(x0)) 460.36/164.28 U81(mark(x0), x1, x2) 460.36/164.28 U81(x0, mark(x1), x2) 460.36/164.28 U81(x0, x1, mark(x2)) 460.36/164.28 U81(active(x0), x1, x2) 460.36/164.28 U81(x0, active(x1), x2) 460.36/164.28 U81(x0, x1, active(x2)) 460.36/164.28 U82(mark(x0), x1, x2) 460.36/164.28 U82(x0, mark(x1), x2) 460.36/164.28 U82(x0, x1, mark(x2)) 460.36/164.28 U82(active(x0), x1, x2) 460.36/164.28 U82(x0, active(x1), x2) 460.36/164.28 U82(x0, x1, active(x2)) 460.36/164.28 U83(mark(x0), x1, x2) 460.36/164.28 U83(x0, mark(x1), x2) 460.36/164.28 U83(x0, x1, mark(x2)) 460.36/164.28 U83(active(x0), x1, x2) 460.36/164.28 U83(x0, active(x1), x2) 460.36/164.28 U83(x0, x1, active(x2)) 460.36/164.28 U84(mark(x0), x1, x2) 460.36/164.28 U84(x0, mark(x1), x2) 460.36/164.28 U84(x0, x1, mark(x2)) 460.36/164.28 U84(active(x0), x1, x2) 460.36/164.28 U84(x0, active(x1), x2) 460.36/164.28 U84(x0, x1, active(x2)) 460.36/164.28 U85(mark(x0), x1) 460.36/164.28 U85(x0, mark(x1)) 460.36/164.28 U85(active(x0), x1) 460.36/164.28 U85(x0, active(x1)) 460.36/164.28 U86(mark(x0)) 460.36/164.28 U86(active(x0)) 460.36/164.28 U91(mark(x0), x1, x2) 460.36/164.28 U91(x0, mark(x1), x2) 460.36/164.28 U91(x0, x1, mark(x2)) 460.36/164.28 U91(active(x0), x1, x2) 460.36/164.28 U91(x0, active(x1), x2) 460.36/164.28 U91(x0, x1, active(x2)) 460.36/164.28 U92(mark(x0), x1, x2) 460.36/164.28 U92(x0, mark(x1), x2) 460.36/164.28 U92(x0, x1, mark(x2)) 460.36/164.28 U92(active(x0), x1, x2) 460.36/164.28 U92(x0, active(x1), x2) 460.36/164.28 U92(x0, x1, active(x2)) 460.36/164.28 U93(mark(x0), x1, x2) 460.36/164.28 U93(x0, mark(x1), x2) 460.36/164.28 U93(x0, x1, mark(x2)) 460.36/164.28 U93(active(x0), x1, x2) 460.36/164.28 U93(x0, active(x1), x2) 460.36/164.28 U93(x0, x1, active(x2)) 460.36/164.28 U94(mark(x0), x1) 460.36/164.28 U94(x0, mark(x1)) 460.36/164.28 U94(active(x0), x1) 460.36/164.28 U94(x0, active(x1)) 460.36/164.28 s(mark(x0)) 460.36/164.28 s(active(x0)) 460.36/164.28 length(mark(x0)) 460.36/164.28 length(active(x0)) 460.36/164.28 460.36/164.28 We have to consider all minimal (P,Q,R)-chains. 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (323) QDPOrderProof (EQUIVALENT) 460.36/164.28 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.28 460.36/164.28 460.36/164.28 The following pairs can be oriented strictly and are deleted. 460.36/164.28 460.36/164.28 MARK(U93(X1, X2, X3)) -> ACTIVE(U93(mark(X1), X2, X3)) 460.36/164.28 The remaining pairs can at least be oriented weakly. 460.36/164.28 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.28 460.36/164.28 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.28 POL( U41_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U42_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U43_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U44_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U45_2(x_1, x_2) ) = 1 460.36/164.28 POL( U51_2(x_1, x_2) ) = 1 460.36/164.28 POL( U81_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U82_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U83_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U84_3(x_1, ..., x_3) ) = 1 460.36/164.28 POL( U85_2(x_1, x_2) ) = 1 460.36/164.28 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( mark_1(x_1) ) = max{0, x_1 - 2} 460.36/164.28 POL( zeros ) = 0 460.36/164.28 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( cons_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.28 POL( 0 ) = 0 460.36/164.28 POL( U11_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} 460.36/164.28 POL( tt ) = 1 460.36/164.28 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.28 POL( isNatIListKind_1(x_1) ) = 1 460.36/164.28 POL( U13_1(x_1) ) = 0 460.36/164.28 POL( isNatList_1(x_1) ) = 1 460.36/164.28 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( U22_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.28 POL( isNatKind_1(x_1) ) = 1 460.36/164.28 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( isNat_1(x_1) ) = 2x_1 460.36/164.28 POL( U31_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.28 POL( U32_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.28 POL( U33_1(x_1) ) = max{0, x_1 - 2} 460.36/164.28 POL( U46_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( isNatIList_1(x_1) ) = 1 460.36/164.28 POL( U52_1(x_1) ) = 2 460.36/164.28 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( U91_3(x_1, ..., x_3) ) = 2x_2 + 2 460.36/164.28 POL( U92_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 460.36/164.28 POL( U94_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.28 POL( s_1(x_1) ) = 2 460.36/164.28 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.28 POL( U71_1(x_1) ) = 2 460.36/164.28 POL( nil ) = 0 460.36/164.28 POL( MARK_1(x_1) ) = 1 460.36/164.28 460.36/164.28 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.28 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 460.36/164.28 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (324) 460.36/164.28 Obligation: 460.36/164.28 Q DP problem: 460.36/164.28 The TRS P consists of the following rules: 460.36/164.28 460.36/164.28 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.28 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.28 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.28 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.28 MARK(U46(X)) -> MARK(X) 460.36/164.28 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.28 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.28 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.28 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.28 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.28 MARK(U52(X)) -> MARK(X) 460.36/164.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.28 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.28 MARK(U61(X)) -> MARK(X) 460.36/164.28 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.28 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.28 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.28 MARK(U86(X)) -> MARK(X) 460.36/164.28 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.28 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U71(X)) -> MARK(X) 460.36/164.28 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.28 460.36/164.28 The TRS R consists of the following rules: 460.36/164.28 460.36/164.28 mark(zeros) -> active(zeros) 460.36/164.28 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.28 active(zeros) -> mark(cons(0, zeros)) 460.36/164.28 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.28 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.28 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.28 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.28 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.28 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.28 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.28 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.28 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.28 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.28 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.28 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.28 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.28 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.28 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.28 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.28 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.28 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.28 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.28 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.28 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.28 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.28 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.28 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.28 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.28 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.28 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.28 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.28 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.28 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.28 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.28 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.28 mark(s(X)) -> active(s(mark(X))) 460.36/164.28 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.28 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.28 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.28 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.28 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.28 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.28 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.28 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.28 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.28 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.28 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.28 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.28 mark(0) -> active(0) 460.36/164.28 mark(tt) -> active(tt) 460.36/164.28 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.28 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.28 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.28 mark(isNat(X)) -> active(isNat(X)) 460.36/164.28 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.28 mark(length(X)) -> active(length(mark(X))) 460.36/164.28 mark(nil) -> active(nil) 460.36/164.28 length(active(X)) -> length(X) 460.36/164.28 length(mark(X)) -> length(X) 460.36/164.28 active(U13(tt)) -> mark(tt) 460.36/164.28 active(U23(tt)) -> mark(tt) 460.36/164.28 active(U33(tt)) -> mark(tt) 460.36/164.28 active(U46(tt)) -> mark(tt) 460.36/164.28 active(U52(tt)) -> mark(tt) 460.36/164.28 active(U61(tt)) -> mark(tt) 460.36/164.28 active(U71(tt)) -> mark(tt) 460.36/164.28 active(U86(tt)) -> mark(tt) 460.36/164.28 active(isNat(0)) -> mark(tt) 460.36/164.28 active(isNatIList(zeros)) -> mark(tt) 460.36/164.28 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.28 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.28 active(isNatKind(0)) -> mark(tt) 460.36/164.28 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.28 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.28 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.28 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.28 U13(active(X)) -> U13(X) 460.36/164.28 U13(mark(X)) -> U13(X) 460.36/164.28 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.28 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.28 U23(active(X)) -> U23(X) 460.36/164.28 U23(mark(X)) -> U23(X) 460.36/164.28 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.28 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.28 U33(active(X)) -> U33(X) 460.36/164.28 U33(mark(X)) -> U33(X) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U46(active(X)) -> U46(X) 460.36/164.28 U46(mark(X)) -> U46(X) 460.36/164.28 U52(active(X)) -> U52(X) 460.36/164.28 U52(mark(X)) -> U52(X) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 U86(active(X)) -> U86(X) 460.36/164.28 U86(mark(X)) -> U86(X) 460.36/164.28 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.28 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.28 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.28 s(active(X)) -> s(X) 460.36/164.28 s(mark(X)) -> s(X) 460.36/164.28 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.28 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.28 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.28 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.28 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.28 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U61(active(X)) -> U61(X) 460.36/164.28 U61(mark(X)) -> U61(X) 460.36/164.28 U71(active(X)) -> U71(X) 460.36/164.28 U71(mark(X)) -> U71(X) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.28 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.28 460.36/164.28 The set Q consists of the following terms: 460.36/164.28 460.36/164.28 active(zeros) 460.36/164.28 active(U11(tt, x0)) 460.36/164.28 active(U12(tt, x0)) 460.36/164.28 active(U13(tt)) 460.36/164.28 active(U21(tt, x0)) 460.36/164.28 active(U22(tt, x0)) 460.36/164.28 active(U23(tt)) 460.36/164.28 active(U31(tt, x0)) 460.36/164.28 active(U32(tt, x0)) 460.36/164.28 active(U33(tt)) 460.36/164.28 active(U41(tt, x0, x1)) 460.36/164.28 active(U42(tt, x0, x1)) 460.36/164.28 active(U43(tt, x0, x1)) 460.36/164.28 active(U44(tt, x0, x1)) 460.36/164.28 active(U45(tt, x0)) 460.36/164.28 active(U46(tt)) 460.36/164.28 active(U51(tt, x0)) 460.36/164.28 active(U52(tt)) 460.36/164.28 active(U61(tt)) 460.36/164.28 active(U71(tt)) 460.36/164.28 active(U81(tt, x0, x1)) 460.36/164.28 active(U82(tt, x0, x1)) 460.36/164.28 active(U83(tt, x0, x1)) 460.36/164.28 active(U84(tt, x0, x1)) 460.36/164.28 active(U85(tt, x0)) 460.36/164.28 active(U86(tt)) 460.36/164.28 active(U91(tt, x0, x1)) 460.36/164.28 active(U92(tt, x0, x1)) 460.36/164.28 active(U93(tt, x0, x1)) 460.36/164.28 active(U94(tt, x0)) 460.36/164.28 active(isNat(0)) 460.36/164.28 active(isNat(length(x0))) 460.36/164.28 active(isNat(s(x0))) 460.36/164.28 active(isNatIList(x0)) 460.36/164.28 active(isNatIListKind(nil)) 460.36/164.28 active(isNatIListKind(zeros)) 460.36/164.28 active(isNatIListKind(cons(x0, x1))) 460.36/164.28 active(isNatKind(0)) 460.36/164.28 active(isNatKind(length(x0))) 460.36/164.28 active(isNatKind(s(x0))) 460.36/164.28 active(isNatList(nil)) 460.36/164.28 active(isNatList(cons(x0, x1))) 460.36/164.28 active(length(nil)) 460.36/164.28 active(length(cons(x0, x1))) 460.36/164.28 mark(zeros) 460.36/164.28 mark(cons(x0, x1)) 460.36/164.28 mark(0) 460.36/164.28 mark(U11(x0, x1)) 460.36/164.28 mark(tt) 460.36/164.28 mark(U12(x0, x1)) 460.36/164.28 mark(isNatIListKind(x0)) 460.36/164.28 mark(U13(x0)) 460.36/164.28 mark(isNatList(x0)) 460.36/164.28 mark(U21(x0, x1)) 460.36/164.28 mark(U22(x0, x1)) 460.36/164.28 mark(isNatKind(x0)) 460.36/164.28 mark(U23(x0)) 460.36/164.28 mark(isNat(x0)) 460.36/164.28 mark(U31(x0, x1)) 460.36/164.28 mark(U32(x0, x1)) 460.36/164.28 mark(U33(x0)) 460.36/164.28 mark(U41(x0, x1, x2)) 460.36/164.28 mark(U42(x0, x1, x2)) 460.36/164.28 mark(U43(x0, x1, x2)) 460.36/164.28 mark(U44(x0, x1, x2)) 460.36/164.28 mark(U45(x0, x1)) 460.36/164.28 mark(U46(x0)) 460.36/164.28 mark(isNatIList(x0)) 460.36/164.28 mark(U51(x0, x1)) 460.36/164.28 mark(U52(x0)) 460.36/164.28 mark(U61(x0)) 460.36/164.28 mark(U71(x0)) 460.36/164.28 mark(U81(x0, x1, x2)) 460.36/164.28 mark(U82(x0, x1, x2)) 460.36/164.28 mark(U83(x0, x1, x2)) 460.36/164.28 mark(U84(x0, x1, x2)) 460.36/164.28 mark(U85(x0, x1)) 460.36/164.28 mark(U86(x0)) 460.36/164.28 mark(U91(x0, x1, x2)) 460.36/164.28 mark(U92(x0, x1, x2)) 460.36/164.28 mark(U93(x0, x1, x2)) 460.36/164.28 mark(U94(x0, x1)) 460.36/164.28 mark(s(x0)) 460.36/164.28 mark(length(x0)) 460.36/164.28 mark(nil) 460.36/164.28 cons(mark(x0), x1) 460.36/164.28 cons(x0, mark(x1)) 460.36/164.28 cons(active(x0), x1) 460.36/164.28 cons(x0, active(x1)) 460.36/164.28 U11(mark(x0), x1) 460.36/164.28 U11(x0, mark(x1)) 460.36/164.28 U11(active(x0), x1) 460.36/164.28 U11(x0, active(x1)) 460.36/164.28 U12(mark(x0), x1) 460.36/164.28 U12(x0, mark(x1)) 460.36/164.28 U12(active(x0), x1) 460.36/164.28 U12(x0, active(x1)) 460.36/164.28 isNatIListKind(mark(x0)) 460.36/164.28 isNatIListKind(active(x0)) 460.36/164.28 U13(mark(x0)) 460.36/164.28 U13(active(x0)) 460.36/164.28 isNatList(mark(x0)) 460.36/164.28 isNatList(active(x0)) 460.36/164.28 U21(mark(x0), x1) 460.36/164.28 U21(x0, mark(x1)) 460.36/164.28 U21(active(x0), x1) 460.36/164.28 U21(x0, active(x1)) 460.36/164.28 U22(mark(x0), x1) 460.36/164.28 U22(x0, mark(x1)) 460.36/164.28 U22(active(x0), x1) 460.36/164.28 U22(x0, active(x1)) 460.36/164.28 isNatKind(mark(x0)) 460.36/164.28 isNatKind(active(x0)) 460.36/164.28 U23(mark(x0)) 460.36/164.28 U23(active(x0)) 460.36/164.28 isNat(mark(x0)) 460.36/164.28 isNat(active(x0)) 460.36/164.28 U31(mark(x0), x1) 460.36/164.28 U31(x0, mark(x1)) 460.36/164.28 U31(active(x0), x1) 460.36/164.28 U31(x0, active(x1)) 460.36/164.28 U32(mark(x0), x1) 460.36/164.28 U32(x0, mark(x1)) 460.36/164.28 U32(active(x0), x1) 460.36/164.28 U32(x0, active(x1)) 460.36/164.28 U33(mark(x0)) 460.36/164.28 U33(active(x0)) 460.36/164.28 U41(mark(x0), x1, x2) 460.36/164.28 U41(x0, mark(x1), x2) 460.36/164.28 U41(x0, x1, mark(x2)) 460.36/164.28 U41(active(x0), x1, x2) 460.36/164.28 U41(x0, active(x1), x2) 460.36/164.28 U41(x0, x1, active(x2)) 460.36/164.28 U42(mark(x0), x1, x2) 460.36/164.28 U42(x0, mark(x1), x2) 460.36/164.28 U42(x0, x1, mark(x2)) 460.36/164.28 U42(active(x0), x1, x2) 460.36/164.28 U42(x0, active(x1), x2) 460.36/164.28 U42(x0, x1, active(x2)) 460.36/164.28 U43(mark(x0), x1, x2) 460.36/164.28 U43(x0, mark(x1), x2) 460.36/164.28 U43(x0, x1, mark(x2)) 460.36/164.28 U43(active(x0), x1, x2) 460.36/164.28 U43(x0, active(x1), x2) 460.36/164.28 U43(x0, x1, active(x2)) 460.36/164.28 U44(mark(x0), x1, x2) 460.36/164.28 U44(x0, mark(x1), x2) 460.36/164.28 U44(x0, x1, mark(x2)) 460.36/164.28 U44(active(x0), x1, x2) 460.36/164.28 U44(x0, active(x1), x2) 460.36/164.28 U44(x0, x1, active(x2)) 460.36/164.28 U45(mark(x0), x1) 460.36/164.28 U45(x0, mark(x1)) 460.36/164.28 U45(active(x0), x1) 460.36/164.28 U45(x0, active(x1)) 460.36/164.28 U46(mark(x0)) 460.36/164.28 U46(active(x0)) 460.36/164.28 isNatIList(mark(x0)) 460.36/164.28 isNatIList(active(x0)) 460.36/164.28 U51(mark(x0), x1) 460.36/164.28 U51(x0, mark(x1)) 460.36/164.28 U51(active(x0), x1) 460.36/164.28 U51(x0, active(x1)) 460.36/164.28 U52(mark(x0)) 460.36/164.28 U52(active(x0)) 460.36/164.28 U61(mark(x0)) 460.36/164.28 U61(active(x0)) 460.36/164.28 U71(mark(x0)) 460.36/164.28 U71(active(x0)) 460.36/164.28 U81(mark(x0), x1, x2) 460.36/164.28 U81(x0, mark(x1), x2) 460.36/164.28 U81(x0, x1, mark(x2)) 460.36/164.28 U81(active(x0), x1, x2) 460.36/164.28 U81(x0, active(x1), x2) 460.36/164.28 U81(x0, x1, active(x2)) 460.36/164.28 U82(mark(x0), x1, x2) 460.36/164.28 U82(x0, mark(x1), x2) 460.36/164.28 U82(x0, x1, mark(x2)) 460.36/164.28 U82(active(x0), x1, x2) 460.36/164.28 U82(x0, active(x1), x2) 460.36/164.28 U82(x0, x1, active(x2)) 460.36/164.28 U83(mark(x0), x1, x2) 460.36/164.28 U83(x0, mark(x1), x2) 460.36/164.28 U83(x0, x1, mark(x2)) 460.36/164.28 U83(active(x0), x1, x2) 460.36/164.28 U83(x0, active(x1), x2) 460.36/164.28 U83(x0, x1, active(x2)) 460.36/164.28 U84(mark(x0), x1, x2) 460.36/164.28 U84(x0, mark(x1), x2) 460.36/164.28 U84(x0, x1, mark(x2)) 460.36/164.28 U84(active(x0), x1, x2) 460.36/164.28 U84(x0, active(x1), x2) 460.36/164.28 U84(x0, x1, active(x2)) 460.36/164.28 U85(mark(x0), x1) 460.36/164.28 U85(x0, mark(x1)) 460.36/164.28 U85(active(x0), x1) 460.36/164.28 U85(x0, active(x1)) 460.36/164.28 U86(mark(x0)) 460.36/164.28 U86(active(x0)) 460.36/164.28 U91(mark(x0), x1, x2) 460.36/164.28 U91(x0, mark(x1), x2) 460.36/164.28 U91(x0, x1, mark(x2)) 460.36/164.28 U91(active(x0), x1, x2) 460.36/164.28 U91(x0, active(x1), x2) 460.36/164.28 U91(x0, x1, active(x2)) 460.36/164.28 U92(mark(x0), x1, x2) 460.36/164.28 U92(x0, mark(x1), x2) 460.36/164.28 U92(x0, x1, mark(x2)) 460.36/164.28 U92(active(x0), x1, x2) 460.36/164.28 U92(x0, active(x1), x2) 460.36/164.28 U92(x0, x1, active(x2)) 460.36/164.28 U93(mark(x0), x1, x2) 460.36/164.28 U93(x0, mark(x1), x2) 460.36/164.28 U93(x0, x1, mark(x2)) 460.36/164.28 U93(active(x0), x1, x2) 460.36/164.28 U93(x0, active(x1), x2) 460.36/164.28 U93(x0, x1, active(x2)) 460.36/164.28 U94(mark(x0), x1) 460.36/164.28 U94(x0, mark(x1)) 460.36/164.28 U94(active(x0), x1) 460.36/164.28 U94(x0, active(x1)) 460.36/164.28 s(mark(x0)) 460.36/164.28 s(active(x0)) 460.36/164.28 length(mark(x0)) 460.36/164.28 length(active(x0)) 460.36/164.28 460.36/164.28 We have to consider all minimal (P,Q,R)-chains. 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (325) QDPOrderProof (EQUIVALENT) 460.36/164.28 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.28 460.36/164.28 460.36/164.28 The following pairs can be oriented strictly and are deleted. 460.36/164.28 460.36/164.28 ACTIVE(isNatKind(length(V1))) -> MARK(U61(isNatIListKind(V1))) 460.36/164.28 MARK(U61(X)) -> MARK(X) 460.36/164.28 The remaining pairs can at least be oriented weakly. 460.36/164.28 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.28 460.36/164.28 POL( ACTIVE_1(x_1) ) = x_1 + 2 460.36/164.28 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U42_3(x_1, ..., x_3) ) = 0 460.36/164.28 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U51_2(x_1, x_2) ) = 2x_1 + 2x_2 460.36/164.28 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U82_3(x_1, ..., x_3) ) = 0 460.36/164.28 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U84_3(x_1, ..., x_3) ) = 0 460.36/164.28 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( mark_1(x_1) ) = x_1 460.36/164.28 POL( zeros ) = 0 460.36/164.28 POL( active_1(x_1) ) = x_1 460.36/164.28 POL( cons_2(x_1, x_2) ) = 2x_1 + x_2 460.36/164.28 POL( 0 ) = 0 460.36/164.28 POL( U11_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( tt ) = 0 460.36/164.28 POL( U12_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( isNatIListKind_1(x_1) ) = 2x_1 460.36/164.28 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.28 POL( isNatList_1(x_1) ) = 0 460.36/164.28 POL( U21_2(x_1, x_2) ) = 0 460.36/164.28 POL( U22_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( isNatKind_1(x_1) ) = 2x_1 460.36/164.28 POL( U23_1(x_1) ) = max{0, -2} 460.36/164.28 POL( isNat_1(x_1) ) = 0 460.36/164.28 POL( U31_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.28 POL( U46_1(x_1) ) = x_1 460.36/164.28 POL( isNatIList_1(x_1) ) = 0 460.36/164.28 POL( U52_1(x_1) ) = x_1 460.36/164.28 POL( U86_1(x_1) ) = 2x_1 460.36/164.28 POL( U91_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.36/164.28 POL( U92_3(x_1, ..., x_3) ) = x_2 + 2 460.36/164.28 POL( U93_3(x_1, ..., x_3) ) = x_2 + 2 460.36/164.28 POL( U94_2(x_1, x_2) ) = x_2 + 2 460.36/164.28 POL( s_1(x_1) ) = x_1 460.36/164.28 POL( length_1(x_1) ) = x_1 + 2 460.36/164.28 POL( U61_1(x_1) ) = x_1 + 2 460.36/164.28 POL( U71_1(x_1) ) = x_1 460.36/164.28 POL( nil ) = 0 460.36/164.28 POL( MARK_1(x_1) ) = x_1 + 2 460.36/164.28 460.36/164.28 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.28 460.36/164.28 mark(zeros) -> active(zeros) 460.36/164.28 active(zeros) -> mark(cons(0, zeros)) 460.36/164.28 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.28 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.28 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.28 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.28 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.28 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.28 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.28 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.28 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.28 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.28 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.28 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.28 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.28 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.28 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.28 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.28 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.28 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.28 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.28 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.28 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.28 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.28 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.28 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.28 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.28 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.28 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.28 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.28 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.28 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.28 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.28 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.28 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.28 mark(s(X)) -> active(s(mark(X))) 460.36/164.28 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.28 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.28 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.28 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.28 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.28 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.28 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.28 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.28 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.28 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.28 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.28 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.28 mark(0) -> active(0) 460.36/164.28 mark(tt) -> active(tt) 460.36/164.28 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.28 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.28 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.28 mark(isNat(X)) -> active(isNat(X)) 460.36/164.28 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.28 mark(length(X)) -> active(length(mark(X))) 460.36/164.28 mark(nil) -> active(nil) 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.28 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.28 active(U13(tt)) -> mark(tt) 460.36/164.28 active(U23(tt)) -> mark(tt) 460.36/164.28 active(U33(tt)) -> mark(tt) 460.36/164.28 active(U46(tt)) -> mark(tt) 460.36/164.28 active(U52(tt)) -> mark(tt) 460.36/164.28 active(U61(tt)) -> mark(tt) 460.36/164.28 active(U71(tt)) -> mark(tt) 460.36/164.28 active(U86(tt)) -> mark(tt) 460.36/164.28 active(isNat(0)) -> mark(tt) 460.36/164.28 active(isNatIList(zeros)) -> mark(tt) 460.36/164.28 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.28 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.28 active(isNatKind(0)) -> mark(tt) 460.36/164.28 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.28 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.28 U13(mark(X)) -> U13(X) 460.36/164.28 U13(active(X)) -> U13(X) 460.36/164.28 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.28 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.28 U23(mark(X)) -> U23(X) 460.36/164.28 U23(active(X)) -> U23(X) 460.36/164.28 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.28 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.28 U33(mark(X)) -> U33(X) 460.36/164.28 U33(active(X)) -> U33(X) 460.36/164.28 U46(mark(X)) -> U46(X) 460.36/164.28 U46(active(X)) -> U46(X) 460.36/164.28 U52(mark(X)) -> U52(X) 460.36/164.28 U52(active(X)) -> U52(X) 460.36/164.28 U86(mark(X)) -> U86(X) 460.36/164.28 U86(active(X)) -> U86(X) 460.36/164.28 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.28 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.28 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.28 s(mark(X)) -> s(X) 460.36/164.28 s(active(X)) -> s(X) 460.36/164.28 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.28 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.28 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.28 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.28 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.28 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.28 U61(mark(X)) -> U61(X) 460.36/164.28 U61(active(X)) -> U61(X) 460.36/164.28 U71(mark(X)) -> U71(X) 460.36/164.28 U71(active(X)) -> U71(X) 460.36/164.28 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.28 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.28 length(mark(X)) -> length(X) 460.36/164.28 length(active(X)) -> length(X) 460.36/164.28 460.36/164.28 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (326) 460.36/164.28 Obligation: 460.36/164.28 Q DP problem: 460.36/164.28 The TRS P consists of the following rules: 460.36/164.28 460.36/164.28 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.28 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.28 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.28 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.28 MARK(U46(X)) -> MARK(X) 460.36/164.28 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.28 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.28 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.28 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.28 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.28 MARK(U52(X)) -> MARK(X) 460.36/164.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.28 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.28 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.28 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.28 MARK(U86(X)) -> MARK(X) 460.36/164.28 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.28 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U71(X)) -> MARK(X) 460.36/164.28 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.28 460.36/164.28 The TRS R consists of the following rules: 460.36/164.28 460.36/164.28 mark(zeros) -> active(zeros) 460.36/164.28 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.28 active(zeros) -> mark(cons(0, zeros)) 460.36/164.28 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.28 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.28 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.28 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.28 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.28 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.28 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.28 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.28 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.28 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.28 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.28 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.28 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.28 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.28 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.28 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.28 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.28 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.28 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.28 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.28 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.28 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.28 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.28 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.28 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.28 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.28 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.28 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.28 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.28 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.28 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.28 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.28 mark(s(X)) -> active(s(mark(X))) 460.36/164.28 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.28 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.28 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.28 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.28 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.28 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.28 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.28 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.28 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.28 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.28 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.28 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.28 mark(0) -> active(0) 460.36/164.28 mark(tt) -> active(tt) 460.36/164.28 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.28 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.28 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.28 mark(isNat(X)) -> active(isNat(X)) 460.36/164.28 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.28 mark(length(X)) -> active(length(mark(X))) 460.36/164.28 mark(nil) -> active(nil) 460.36/164.28 length(active(X)) -> length(X) 460.36/164.28 length(mark(X)) -> length(X) 460.36/164.28 active(U13(tt)) -> mark(tt) 460.36/164.28 active(U23(tt)) -> mark(tt) 460.36/164.28 active(U33(tt)) -> mark(tt) 460.36/164.28 active(U46(tt)) -> mark(tt) 460.36/164.28 active(U52(tt)) -> mark(tt) 460.36/164.28 active(U61(tt)) -> mark(tt) 460.36/164.28 active(U71(tt)) -> mark(tt) 460.36/164.28 active(U86(tt)) -> mark(tt) 460.36/164.28 active(isNat(0)) -> mark(tt) 460.36/164.28 active(isNatIList(zeros)) -> mark(tt) 460.36/164.28 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.28 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.28 active(isNatKind(0)) -> mark(tt) 460.36/164.28 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.28 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.28 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.28 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.28 U13(active(X)) -> U13(X) 460.36/164.28 U13(mark(X)) -> U13(X) 460.36/164.28 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.28 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.28 U23(active(X)) -> U23(X) 460.36/164.28 U23(mark(X)) -> U23(X) 460.36/164.28 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.28 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.28 U33(active(X)) -> U33(X) 460.36/164.28 U33(mark(X)) -> U33(X) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U46(active(X)) -> U46(X) 460.36/164.28 U46(mark(X)) -> U46(X) 460.36/164.28 U52(active(X)) -> U52(X) 460.36/164.28 U52(mark(X)) -> U52(X) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 U86(active(X)) -> U86(X) 460.36/164.28 U86(mark(X)) -> U86(X) 460.36/164.28 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.28 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.28 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.28 s(active(X)) -> s(X) 460.36/164.28 s(mark(X)) -> s(X) 460.36/164.28 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.28 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.28 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.28 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.28 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.28 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U61(active(X)) -> U61(X) 460.36/164.28 U61(mark(X)) -> U61(X) 460.36/164.28 U71(active(X)) -> U71(X) 460.36/164.28 U71(mark(X)) -> U71(X) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.28 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.28 460.36/164.28 The set Q consists of the following terms: 460.36/164.28 460.36/164.28 active(zeros) 460.36/164.28 active(U11(tt, x0)) 460.36/164.28 active(U12(tt, x0)) 460.36/164.28 active(U13(tt)) 460.36/164.28 active(U21(tt, x0)) 460.36/164.28 active(U22(tt, x0)) 460.36/164.28 active(U23(tt)) 460.36/164.28 active(U31(tt, x0)) 460.36/164.28 active(U32(tt, x0)) 460.36/164.28 active(U33(tt)) 460.36/164.28 active(U41(tt, x0, x1)) 460.36/164.28 active(U42(tt, x0, x1)) 460.36/164.28 active(U43(tt, x0, x1)) 460.36/164.28 active(U44(tt, x0, x1)) 460.36/164.28 active(U45(tt, x0)) 460.36/164.28 active(U46(tt)) 460.36/164.28 active(U51(tt, x0)) 460.36/164.28 active(U52(tt)) 460.36/164.28 active(U61(tt)) 460.36/164.28 active(U71(tt)) 460.36/164.28 active(U81(tt, x0, x1)) 460.36/164.28 active(U82(tt, x0, x1)) 460.36/164.28 active(U83(tt, x0, x1)) 460.36/164.28 active(U84(tt, x0, x1)) 460.36/164.28 active(U85(tt, x0)) 460.36/164.28 active(U86(tt)) 460.36/164.28 active(U91(tt, x0, x1)) 460.36/164.28 active(U92(tt, x0, x1)) 460.36/164.28 active(U93(tt, x0, x1)) 460.36/164.28 active(U94(tt, x0)) 460.36/164.28 active(isNat(0)) 460.36/164.28 active(isNat(length(x0))) 460.36/164.28 active(isNat(s(x0))) 460.36/164.28 active(isNatIList(x0)) 460.36/164.28 active(isNatIListKind(nil)) 460.36/164.28 active(isNatIListKind(zeros)) 460.36/164.28 active(isNatIListKind(cons(x0, x1))) 460.36/164.28 active(isNatKind(0)) 460.36/164.28 active(isNatKind(length(x0))) 460.36/164.28 active(isNatKind(s(x0))) 460.36/164.28 active(isNatList(nil)) 460.36/164.28 active(isNatList(cons(x0, x1))) 460.36/164.28 active(length(nil)) 460.36/164.28 active(length(cons(x0, x1))) 460.36/164.28 mark(zeros) 460.36/164.28 mark(cons(x0, x1)) 460.36/164.28 mark(0) 460.36/164.28 mark(U11(x0, x1)) 460.36/164.28 mark(tt) 460.36/164.28 mark(U12(x0, x1)) 460.36/164.28 mark(isNatIListKind(x0)) 460.36/164.28 mark(U13(x0)) 460.36/164.28 mark(isNatList(x0)) 460.36/164.28 mark(U21(x0, x1)) 460.36/164.28 mark(U22(x0, x1)) 460.36/164.28 mark(isNatKind(x0)) 460.36/164.28 mark(U23(x0)) 460.36/164.28 mark(isNat(x0)) 460.36/164.28 mark(U31(x0, x1)) 460.36/164.28 mark(U32(x0, x1)) 460.36/164.28 mark(U33(x0)) 460.36/164.28 mark(U41(x0, x1, x2)) 460.36/164.28 mark(U42(x0, x1, x2)) 460.36/164.28 mark(U43(x0, x1, x2)) 460.36/164.28 mark(U44(x0, x1, x2)) 460.36/164.28 mark(U45(x0, x1)) 460.36/164.28 mark(U46(x0)) 460.36/164.28 mark(isNatIList(x0)) 460.36/164.28 mark(U51(x0, x1)) 460.36/164.28 mark(U52(x0)) 460.36/164.28 mark(U61(x0)) 460.36/164.28 mark(U71(x0)) 460.36/164.28 mark(U81(x0, x1, x2)) 460.36/164.28 mark(U82(x0, x1, x2)) 460.36/164.28 mark(U83(x0, x1, x2)) 460.36/164.28 mark(U84(x0, x1, x2)) 460.36/164.28 mark(U85(x0, x1)) 460.36/164.28 mark(U86(x0)) 460.36/164.28 mark(U91(x0, x1, x2)) 460.36/164.28 mark(U92(x0, x1, x2)) 460.36/164.28 mark(U93(x0, x1, x2)) 460.36/164.28 mark(U94(x0, x1)) 460.36/164.28 mark(s(x0)) 460.36/164.28 mark(length(x0)) 460.36/164.28 mark(nil) 460.36/164.28 cons(mark(x0), x1) 460.36/164.28 cons(x0, mark(x1)) 460.36/164.28 cons(active(x0), x1) 460.36/164.28 cons(x0, active(x1)) 460.36/164.28 U11(mark(x0), x1) 460.36/164.28 U11(x0, mark(x1)) 460.36/164.28 U11(active(x0), x1) 460.36/164.28 U11(x0, active(x1)) 460.36/164.28 U12(mark(x0), x1) 460.36/164.28 U12(x0, mark(x1)) 460.36/164.28 U12(active(x0), x1) 460.36/164.28 U12(x0, active(x1)) 460.36/164.28 isNatIListKind(mark(x0)) 460.36/164.28 isNatIListKind(active(x0)) 460.36/164.28 U13(mark(x0)) 460.36/164.28 U13(active(x0)) 460.36/164.28 isNatList(mark(x0)) 460.36/164.28 isNatList(active(x0)) 460.36/164.28 U21(mark(x0), x1) 460.36/164.28 U21(x0, mark(x1)) 460.36/164.28 U21(active(x0), x1) 460.36/164.28 U21(x0, active(x1)) 460.36/164.28 U22(mark(x0), x1) 460.36/164.28 U22(x0, mark(x1)) 460.36/164.28 U22(active(x0), x1) 460.36/164.28 U22(x0, active(x1)) 460.36/164.28 isNatKind(mark(x0)) 460.36/164.28 isNatKind(active(x0)) 460.36/164.28 U23(mark(x0)) 460.36/164.28 U23(active(x0)) 460.36/164.28 isNat(mark(x0)) 460.36/164.28 isNat(active(x0)) 460.36/164.28 U31(mark(x0), x1) 460.36/164.28 U31(x0, mark(x1)) 460.36/164.28 U31(active(x0), x1) 460.36/164.28 U31(x0, active(x1)) 460.36/164.28 U32(mark(x0), x1) 460.36/164.28 U32(x0, mark(x1)) 460.36/164.28 U32(active(x0), x1) 460.36/164.28 U32(x0, active(x1)) 460.36/164.28 U33(mark(x0)) 460.36/164.28 U33(active(x0)) 460.36/164.28 U41(mark(x0), x1, x2) 460.36/164.28 U41(x0, mark(x1), x2) 460.36/164.28 U41(x0, x1, mark(x2)) 460.36/164.28 U41(active(x0), x1, x2) 460.36/164.28 U41(x0, active(x1), x2) 460.36/164.28 U41(x0, x1, active(x2)) 460.36/164.28 U42(mark(x0), x1, x2) 460.36/164.28 U42(x0, mark(x1), x2) 460.36/164.28 U42(x0, x1, mark(x2)) 460.36/164.28 U42(active(x0), x1, x2) 460.36/164.28 U42(x0, active(x1), x2) 460.36/164.28 U42(x0, x1, active(x2)) 460.36/164.28 U43(mark(x0), x1, x2) 460.36/164.28 U43(x0, mark(x1), x2) 460.36/164.28 U43(x0, x1, mark(x2)) 460.36/164.28 U43(active(x0), x1, x2) 460.36/164.28 U43(x0, active(x1), x2) 460.36/164.28 U43(x0, x1, active(x2)) 460.36/164.28 U44(mark(x0), x1, x2) 460.36/164.28 U44(x0, mark(x1), x2) 460.36/164.28 U44(x0, x1, mark(x2)) 460.36/164.28 U44(active(x0), x1, x2) 460.36/164.28 U44(x0, active(x1), x2) 460.36/164.28 U44(x0, x1, active(x2)) 460.36/164.28 U45(mark(x0), x1) 460.36/164.28 U45(x0, mark(x1)) 460.36/164.28 U45(active(x0), x1) 460.36/164.28 U45(x0, active(x1)) 460.36/164.28 U46(mark(x0)) 460.36/164.28 U46(active(x0)) 460.36/164.28 isNatIList(mark(x0)) 460.36/164.28 isNatIList(active(x0)) 460.36/164.28 U51(mark(x0), x1) 460.36/164.28 U51(x0, mark(x1)) 460.36/164.28 U51(active(x0), x1) 460.36/164.28 U51(x0, active(x1)) 460.36/164.28 U52(mark(x0)) 460.36/164.28 U52(active(x0)) 460.36/164.28 U61(mark(x0)) 460.36/164.28 U61(active(x0)) 460.36/164.28 U71(mark(x0)) 460.36/164.28 U71(active(x0)) 460.36/164.28 U81(mark(x0), x1, x2) 460.36/164.28 U81(x0, mark(x1), x2) 460.36/164.28 U81(x0, x1, mark(x2)) 460.36/164.28 U81(active(x0), x1, x2) 460.36/164.28 U81(x0, active(x1), x2) 460.36/164.28 U81(x0, x1, active(x2)) 460.36/164.28 U82(mark(x0), x1, x2) 460.36/164.28 U82(x0, mark(x1), x2) 460.36/164.28 U82(x0, x1, mark(x2)) 460.36/164.28 U82(active(x0), x1, x2) 460.36/164.28 U82(x0, active(x1), x2) 460.36/164.28 U82(x0, x1, active(x2)) 460.36/164.28 U83(mark(x0), x1, x2) 460.36/164.28 U83(x0, mark(x1), x2) 460.36/164.28 U83(x0, x1, mark(x2)) 460.36/164.28 U83(active(x0), x1, x2) 460.36/164.28 U83(x0, active(x1), x2) 460.36/164.28 U83(x0, x1, active(x2)) 460.36/164.28 U84(mark(x0), x1, x2) 460.36/164.28 U84(x0, mark(x1), x2) 460.36/164.28 U84(x0, x1, mark(x2)) 460.36/164.28 U84(active(x0), x1, x2) 460.36/164.28 U84(x0, active(x1), x2) 460.36/164.28 U84(x0, x1, active(x2)) 460.36/164.28 U85(mark(x0), x1) 460.36/164.28 U85(x0, mark(x1)) 460.36/164.28 U85(active(x0), x1) 460.36/164.28 U85(x0, active(x1)) 460.36/164.28 U86(mark(x0)) 460.36/164.28 U86(active(x0)) 460.36/164.28 U91(mark(x0), x1, x2) 460.36/164.28 U91(x0, mark(x1), x2) 460.36/164.28 U91(x0, x1, mark(x2)) 460.36/164.28 U91(active(x0), x1, x2) 460.36/164.28 U91(x0, active(x1), x2) 460.36/164.28 U91(x0, x1, active(x2)) 460.36/164.28 U92(mark(x0), x1, x2) 460.36/164.28 U92(x0, mark(x1), x2) 460.36/164.28 U92(x0, x1, mark(x2)) 460.36/164.28 U92(active(x0), x1, x2) 460.36/164.28 U92(x0, active(x1), x2) 460.36/164.28 U92(x0, x1, active(x2)) 460.36/164.28 U93(mark(x0), x1, x2) 460.36/164.28 U93(x0, mark(x1), x2) 460.36/164.28 U93(x0, x1, mark(x2)) 460.36/164.28 U93(active(x0), x1, x2) 460.36/164.28 U93(x0, active(x1), x2) 460.36/164.28 U93(x0, x1, active(x2)) 460.36/164.28 U94(mark(x0), x1) 460.36/164.28 U94(x0, mark(x1)) 460.36/164.28 U94(active(x0), x1) 460.36/164.28 U94(x0, active(x1)) 460.36/164.28 s(mark(x0)) 460.36/164.28 s(active(x0)) 460.36/164.28 length(mark(x0)) 460.36/164.28 length(active(x0)) 460.36/164.28 460.36/164.28 We have to consider all minimal (P,Q,R)-chains. 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (327) QDPOrderProof (EQUIVALENT) 460.36/164.28 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.28 460.36/164.28 460.36/164.28 The following pairs can be oriented strictly and are deleted. 460.36/164.28 460.36/164.28 MARK(U51(X1, X2)) -> MARK(X1) 460.36/164.28 The remaining pairs can at least be oriented weakly. 460.36/164.28 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.28 460.36/164.28 POL( ACTIVE_1(x_1) ) = x_1 460.36/164.28 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U45_2(x_1, x_2) ) = 0 460.36/164.28 POL( U51_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.28 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U85_2(x_1, x_2) ) = 0 460.36/164.28 POL( mark_1(x_1) ) = x_1 460.36/164.28 POL( zeros ) = 2 460.36/164.28 POL( active_1(x_1) ) = x_1 460.36/164.28 POL( cons_2(x_1, x_2) ) = 2 460.36/164.28 POL( 0 ) = 0 460.36/164.28 POL( U11_2(x_1, x_2) ) = 2 460.36/164.28 POL( tt ) = 0 460.36/164.28 POL( U12_2(x_1, x_2) ) = 2 460.36/164.28 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.28 POL( U13_1(x_1) ) = x_1 + 2 460.36/164.28 POL( isNatList_1(x_1) ) = 0 460.36/164.28 POL( U21_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U22_2(x_1, x_2) ) = 0 460.36/164.28 POL( isNatKind_1(x_1) ) = 0 460.36/164.28 POL( U23_1(x_1) ) = max{0, -2} 460.36/164.28 POL( isNat_1(x_1) ) = 2 460.36/164.28 POL( U31_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.28 POL( U46_1(x_1) ) = 2x_1 460.36/164.28 POL( isNatIList_1(x_1) ) = 0 460.36/164.28 POL( U52_1(x_1) ) = x_1 460.36/164.28 POL( U86_1(x_1) ) = 2x_1 460.36/164.28 POL( U91_3(x_1, ..., x_3) ) = 0 460.36/164.28 POL( U92_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U93_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.28 POL( U94_2(x_1, x_2) ) = max{0, -2} 460.36/164.28 POL( s_1(x_1) ) = max{0, -2} 460.36/164.28 POL( length_1(x_1) ) = 0 460.36/164.28 POL( U61_1(x_1) ) = 0 460.36/164.28 POL( U71_1(x_1) ) = 2x_1 460.36/164.28 POL( nil ) = 2 460.36/164.28 POL( MARK_1(x_1) ) = x_1 460.36/164.28 460.36/164.28 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.28 460.36/164.28 mark(zeros) -> active(zeros) 460.36/164.28 active(zeros) -> mark(cons(0, zeros)) 460.36/164.28 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.28 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.28 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.28 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.28 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.28 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.28 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.28 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.28 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.28 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.28 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.28 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.28 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.28 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.28 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.28 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.28 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.28 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.28 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.28 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.28 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.28 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.28 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.28 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.28 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.28 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.28 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.28 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.28 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.28 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.28 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.28 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.28 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.28 mark(s(X)) -> active(s(mark(X))) 460.36/164.28 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.28 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.28 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.28 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.28 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.28 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.28 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.28 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.28 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.28 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.28 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.28 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.28 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.28 mark(0) -> active(0) 460.36/164.28 mark(tt) -> active(tt) 460.36/164.28 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.28 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.28 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.28 mark(isNat(X)) -> active(isNat(X)) 460.36/164.28 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.28 mark(length(X)) -> active(length(mark(X))) 460.36/164.28 mark(nil) -> active(nil) 460.36/164.28 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.28 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.28 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.28 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.28 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.28 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.28 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.28 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.28 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.28 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.28 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.28 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.28 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.28 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.28 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.28 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.28 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.28 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.28 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.28 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.28 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.28 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.28 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.28 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.28 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.28 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.28 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.28 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.28 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.28 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.28 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.28 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.28 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.28 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.28 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.28 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.28 active(U13(tt)) -> mark(tt) 460.36/164.28 active(U23(tt)) -> mark(tt) 460.36/164.28 active(U33(tt)) -> mark(tt) 460.36/164.28 active(U46(tt)) -> mark(tt) 460.36/164.28 active(U52(tt)) -> mark(tt) 460.36/164.28 active(U61(tt)) -> mark(tt) 460.36/164.28 active(U71(tt)) -> mark(tt) 460.36/164.28 active(U86(tt)) -> mark(tt) 460.36/164.28 active(isNat(0)) -> mark(tt) 460.36/164.28 active(isNatIList(zeros)) -> mark(tt) 460.36/164.28 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.28 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.28 active(isNatKind(0)) -> mark(tt) 460.36/164.28 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.28 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.28 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.28 U13(mark(X)) -> U13(X) 460.36/164.28 U13(active(X)) -> U13(X) 460.36/164.28 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.28 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.28 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.28 U23(mark(X)) -> U23(X) 460.36/164.28 U23(active(X)) -> U23(X) 460.36/164.28 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.28 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.28 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.28 U33(mark(X)) -> U33(X) 460.36/164.28 U33(active(X)) -> U33(X) 460.36/164.28 U46(mark(X)) -> U46(X) 460.36/164.28 U46(active(X)) -> U46(X) 460.36/164.28 U52(mark(X)) -> U52(X) 460.36/164.28 U52(active(X)) -> U52(X) 460.36/164.28 U86(mark(X)) -> U86(X) 460.36/164.28 U86(active(X)) -> U86(X) 460.36/164.28 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.28 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.28 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.28 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.28 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.28 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.28 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.28 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.28 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.28 s(mark(X)) -> s(X) 460.36/164.28 s(active(X)) -> s(X) 460.36/164.28 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.28 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.28 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.28 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.28 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.28 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.28 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.28 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.28 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.28 U61(mark(X)) -> U61(X) 460.36/164.28 U61(active(X)) -> U61(X) 460.36/164.28 U71(mark(X)) -> U71(X) 460.36/164.28 U71(active(X)) -> U71(X) 460.36/164.28 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.28 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.28 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.28 length(mark(X)) -> length(X) 460.36/164.28 length(active(X)) -> length(X) 460.36/164.28 460.36/164.28 460.36/164.28 ---------------------------------------- 460.36/164.28 460.36/164.28 (328) 460.36/164.28 Obligation: 460.36/164.28 Q DP problem: 460.36/164.28 The TRS P consists of the following rules: 460.36/164.28 460.36/164.28 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.28 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.28 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.28 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.28 MARK(U46(X)) -> MARK(X) 460.36/164.28 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.28 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.28 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.28 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.28 MARK(U52(X)) -> MARK(X) 460.36/164.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.28 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.28 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.28 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.28 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.28 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.28 MARK(U86(X)) -> MARK(X) 460.36/164.28 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.28 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.28 MARK(U71(X)) -> MARK(X) 460.36/164.28 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.28 460.36/164.28 The TRS R consists of the following rules: 460.36/164.28 460.36/164.28 mark(zeros) -> active(zeros) 460.36/164.29 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.29 active(zeros) -> mark(cons(0, zeros)) 460.36/164.29 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.29 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.29 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.29 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.29 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.29 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.29 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.29 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.29 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.29 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.29 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.29 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.29 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.29 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.29 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.29 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.29 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.29 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.29 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.29 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.29 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.29 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.29 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.29 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.29 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.29 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.29 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.29 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.29 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.29 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.29 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.29 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.29 mark(s(X)) -> active(s(mark(X))) 460.36/164.29 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.29 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.29 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.29 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.29 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.29 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.29 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.29 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.29 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.29 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.29 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.29 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.29 mark(0) -> active(0) 460.36/164.29 mark(tt) -> active(tt) 460.36/164.29 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.29 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.29 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.29 mark(isNat(X)) -> active(isNat(X)) 460.36/164.29 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.29 mark(length(X)) -> active(length(mark(X))) 460.36/164.29 mark(nil) -> active(nil) 460.36/164.29 length(active(X)) -> length(X) 460.36/164.29 length(mark(X)) -> length(X) 460.36/164.29 active(U13(tt)) -> mark(tt) 460.36/164.29 active(U23(tt)) -> mark(tt) 460.36/164.29 active(U33(tt)) -> mark(tt) 460.36/164.29 active(U46(tt)) -> mark(tt) 460.36/164.29 active(U52(tt)) -> mark(tt) 460.36/164.29 active(U61(tt)) -> mark(tt) 460.36/164.29 active(U71(tt)) -> mark(tt) 460.36/164.29 active(U86(tt)) -> mark(tt) 460.36/164.29 active(isNat(0)) -> mark(tt) 460.36/164.29 active(isNatIList(zeros)) -> mark(tt) 460.36/164.29 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.29 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.29 active(isNatKind(0)) -> mark(tt) 460.36/164.29 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.29 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.29 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.29 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.29 U13(active(X)) -> U13(X) 460.36/164.29 U13(mark(X)) -> U13(X) 460.36/164.29 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.29 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.29 U23(active(X)) -> U23(X) 460.36/164.29 U23(mark(X)) -> U23(X) 460.36/164.29 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.29 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.29 U33(active(X)) -> U33(X) 460.36/164.29 U33(mark(X)) -> U33(X) 460.36/164.29 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.29 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.29 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.29 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.29 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.29 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.29 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.29 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.29 U46(active(X)) -> U46(X) 460.36/164.29 U46(mark(X)) -> U46(X) 460.36/164.29 U52(active(X)) -> U52(X) 460.36/164.29 U52(mark(X)) -> U52(X) 460.36/164.29 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.29 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.29 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.29 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.29 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.29 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.29 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.29 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.29 U86(active(X)) -> U86(X) 460.36/164.29 U86(mark(X)) -> U86(X) 460.36/164.29 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.29 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.29 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.29 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.29 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.29 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.29 s(active(X)) -> s(X) 460.36/164.29 s(mark(X)) -> s(X) 460.36/164.29 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.29 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.29 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.29 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.29 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.29 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.29 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.29 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.29 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.29 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.29 U61(active(X)) -> U61(X) 460.36/164.29 U61(mark(X)) -> U61(X) 460.36/164.29 U71(active(X)) -> U71(X) 460.36/164.29 U71(mark(X)) -> U71(X) 460.36/164.29 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.29 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.29 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.29 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.29 460.36/164.29 The set Q consists of the following terms: 460.36/164.29 460.36/164.29 active(zeros) 460.36/164.29 active(U11(tt, x0)) 460.36/164.29 active(U12(tt, x0)) 460.36/164.29 active(U13(tt)) 460.36/164.29 active(U21(tt, x0)) 460.36/164.29 active(U22(tt, x0)) 460.36/164.29 active(U23(tt)) 460.36/164.29 active(U31(tt, x0)) 460.36/164.29 active(U32(tt, x0)) 460.36/164.29 active(U33(tt)) 460.36/164.29 active(U41(tt, x0, x1)) 460.36/164.29 active(U42(tt, x0, x1)) 460.36/164.29 active(U43(tt, x0, x1)) 460.36/164.29 active(U44(tt, x0, x1)) 460.36/164.29 active(U45(tt, x0)) 460.36/164.29 active(U46(tt)) 460.36/164.29 active(U51(tt, x0)) 460.36/164.29 active(U52(tt)) 460.36/164.29 active(U61(tt)) 460.36/164.29 active(U71(tt)) 460.36/164.29 active(U81(tt, x0, x1)) 460.36/164.29 active(U82(tt, x0, x1)) 460.36/164.29 active(U83(tt, x0, x1)) 460.36/164.29 active(U84(tt, x0, x1)) 460.36/164.29 active(U85(tt, x0)) 460.36/164.29 active(U86(tt)) 460.36/164.29 active(U91(tt, x0, x1)) 460.36/164.29 active(U92(tt, x0, x1)) 460.36/164.29 active(U93(tt, x0, x1)) 460.36/164.29 active(U94(tt, x0)) 460.36/164.29 active(isNat(0)) 460.36/164.29 active(isNat(length(x0))) 460.36/164.29 active(isNat(s(x0))) 460.36/164.29 active(isNatIList(x0)) 460.36/164.29 active(isNatIListKind(nil)) 460.36/164.29 active(isNatIListKind(zeros)) 460.36/164.29 active(isNatIListKind(cons(x0, x1))) 460.36/164.29 active(isNatKind(0)) 460.36/164.29 active(isNatKind(length(x0))) 460.36/164.29 active(isNatKind(s(x0))) 460.36/164.29 active(isNatList(nil)) 460.36/164.29 active(isNatList(cons(x0, x1))) 460.36/164.29 active(length(nil)) 460.36/164.29 active(length(cons(x0, x1))) 460.36/164.29 mark(zeros) 460.36/164.29 mark(cons(x0, x1)) 460.36/164.29 mark(0) 460.36/164.29 mark(U11(x0, x1)) 460.36/164.29 mark(tt) 460.36/164.29 mark(U12(x0, x1)) 460.36/164.29 mark(isNatIListKind(x0)) 460.36/164.29 mark(U13(x0)) 460.36/164.29 mark(isNatList(x0)) 460.36/164.29 mark(U21(x0, x1)) 460.36/164.29 mark(U22(x0, x1)) 460.36/164.29 mark(isNatKind(x0)) 460.36/164.29 mark(U23(x0)) 460.36/164.29 mark(isNat(x0)) 460.36/164.29 mark(U31(x0, x1)) 460.36/164.29 mark(U32(x0, x1)) 460.36/164.29 mark(U33(x0)) 460.36/164.29 mark(U41(x0, x1, x2)) 460.36/164.29 mark(U42(x0, x1, x2)) 460.36/164.29 mark(U43(x0, x1, x2)) 460.36/164.29 mark(U44(x0, x1, x2)) 460.36/164.29 mark(U45(x0, x1)) 460.36/164.29 mark(U46(x0)) 460.36/164.29 mark(isNatIList(x0)) 460.36/164.29 mark(U51(x0, x1)) 460.36/164.29 mark(U52(x0)) 460.36/164.29 mark(U61(x0)) 460.36/164.29 mark(U71(x0)) 460.36/164.29 mark(U81(x0, x1, x2)) 460.36/164.29 mark(U82(x0, x1, x2)) 460.36/164.29 mark(U83(x0, x1, x2)) 460.36/164.29 mark(U84(x0, x1, x2)) 460.36/164.29 mark(U85(x0, x1)) 460.36/164.29 mark(U86(x0)) 460.36/164.29 mark(U91(x0, x1, x2)) 460.36/164.29 mark(U92(x0, x1, x2)) 460.36/164.29 mark(U93(x0, x1, x2)) 460.36/164.29 mark(U94(x0, x1)) 460.36/164.29 mark(s(x0)) 460.36/164.29 mark(length(x0)) 460.36/164.29 mark(nil) 460.36/164.29 cons(mark(x0), x1) 460.36/164.29 cons(x0, mark(x1)) 460.36/164.29 cons(active(x0), x1) 460.36/164.29 cons(x0, active(x1)) 460.36/164.29 U11(mark(x0), x1) 460.36/164.29 U11(x0, mark(x1)) 460.36/164.29 U11(active(x0), x1) 460.36/164.29 U11(x0, active(x1)) 460.36/164.29 U12(mark(x0), x1) 460.36/164.29 U12(x0, mark(x1)) 460.36/164.29 U12(active(x0), x1) 460.36/164.29 U12(x0, active(x1)) 460.36/164.29 isNatIListKind(mark(x0)) 460.36/164.29 isNatIListKind(active(x0)) 460.36/164.29 U13(mark(x0)) 460.36/164.29 U13(active(x0)) 460.36/164.29 isNatList(mark(x0)) 460.36/164.29 isNatList(active(x0)) 460.36/164.29 U21(mark(x0), x1) 460.36/164.29 U21(x0, mark(x1)) 460.36/164.29 U21(active(x0), x1) 460.36/164.29 U21(x0, active(x1)) 460.36/164.29 U22(mark(x0), x1) 460.36/164.29 U22(x0, mark(x1)) 460.36/164.29 U22(active(x0), x1) 460.36/164.29 U22(x0, active(x1)) 460.36/164.29 isNatKind(mark(x0)) 460.36/164.29 isNatKind(active(x0)) 460.36/164.29 U23(mark(x0)) 460.36/164.29 U23(active(x0)) 460.36/164.29 isNat(mark(x0)) 460.36/164.29 isNat(active(x0)) 460.36/164.29 U31(mark(x0), x1) 460.36/164.29 U31(x0, mark(x1)) 460.36/164.29 U31(active(x0), x1) 460.36/164.29 U31(x0, active(x1)) 460.36/164.29 U32(mark(x0), x1) 460.36/164.29 U32(x0, mark(x1)) 460.36/164.29 U32(active(x0), x1) 460.36/164.29 U32(x0, active(x1)) 460.36/164.29 U33(mark(x0)) 460.36/164.29 U33(active(x0)) 460.36/164.29 U41(mark(x0), x1, x2) 460.36/164.29 U41(x0, mark(x1), x2) 460.36/164.29 U41(x0, x1, mark(x2)) 460.36/164.29 U41(active(x0), x1, x2) 460.36/164.29 U41(x0, active(x1), x2) 460.36/164.29 U41(x0, x1, active(x2)) 460.36/164.29 U42(mark(x0), x1, x2) 460.36/164.29 U42(x0, mark(x1), x2) 460.36/164.29 U42(x0, x1, mark(x2)) 460.36/164.29 U42(active(x0), x1, x2) 460.36/164.29 U42(x0, active(x1), x2) 460.36/164.29 U42(x0, x1, active(x2)) 460.36/164.29 U43(mark(x0), x1, x2) 460.36/164.29 U43(x0, mark(x1), x2) 460.36/164.29 U43(x0, x1, mark(x2)) 460.36/164.29 U43(active(x0), x1, x2) 460.36/164.29 U43(x0, active(x1), x2) 460.36/164.29 U43(x0, x1, active(x2)) 460.36/164.29 U44(mark(x0), x1, x2) 460.36/164.29 U44(x0, mark(x1), x2) 460.36/164.29 U44(x0, x1, mark(x2)) 460.36/164.29 U44(active(x0), x1, x2) 460.36/164.29 U44(x0, active(x1), x2) 460.36/164.29 U44(x0, x1, active(x2)) 460.36/164.29 U45(mark(x0), x1) 460.36/164.29 U45(x0, mark(x1)) 460.36/164.29 U45(active(x0), x1) 460.36/164.29 U45(x0, active(x1)) 460.36/164.29 U46(mark(x0)) 460.36/164.29 U46(active(x0)) 460.36/164.29 isNatIList(mark(x0)) 460.36/164.29 isNatIList(active(x0)) 460.36/164.29 U51(mark(x0), x1) 460.36/164.29 U51(x0, mark(x1)) 460.36/164.29 U51(active(x0), x1) 460.36/164.29 U51(x0, active(x1)) 460.36/164.29 U52(mark(x0)) 460.36/164.29 U52(active(x0)) 460.36/164.29 U61(mark(x0)) 460.36/164.29 U61(active(x0)) 460.36/164.29 U71(mark(x0)) 460.36/164.29 U71(active(x0)) 460.36/164.29 U81(mark(x0), x1, x2) 460.36/164.29 U81(x0, mark(x1), x2) 460.36/164.29 U81(x0, x1, mark(x2)) 460.36/164.29 U81(active(x0), x1, x2) 460.36/164.29 U81(x0, active(x1), x2) 460.36/164.29 U81(x0, x1, active(x2)) 460.36/164.29 U82(mark(x0), x1, x2) 460.36/164.29 U82(x0, mark(x1), x2) 460.36/164.29 U82(x0, x1, mark(x2)) 460.36/164.29 U82(active(x0), x1, x2) 460.36/164.29 U82(x0, active(x1), x2) 460.36/164.29 U82(x0, x1, active(x2)) 460.36/164.29 U83(mark(x0), x1, x2) 460.36/164.29 U83(x0, mark(x1), x2) 460.36/164.29 U83(x0, x1, mark(x2)) 460.36/164.29 U83(active(x0), x1, x2) 460.36/164.29 U83(x0, active(x1), x2) 460.36/164.29 U83(x0, x1, active(x2)) 460.36/164.29 U84(mark(x0), x1, x2) 460.36/164.29 U84(x0, mark(x1), x2) 460.36/164.29 U84(x0, x1, mark(x2)) 460.36/164.29 U84(active(x0), x1, x2) 460.36/164.29 U84(x0, active(x1), x2) 460.36/164.29 U84(x0, x1, active(x2)) 460.36/164.29 U85(mark(x0), x1) 460.36/164.29 U85(x0, mark(x1)) 460.36/164.29 U85(active(x0), x1) 460.36/164.29 U85(x0, active(x1)) 460.36/164.29 U86(mark(x0)) 460.36/164.29 U86(active(x0)) 460.36/164.29 U91(mark(x0), x1, x2) 460.36/164.29 U91(x0, mark(x1), x2) 460.36/164.29 U91(x0, x1, mark(x2)) 460.36/164.29 U91(active(x0), x1, x2) 460.36/164.29 U91(x0, active(x1), x2) 460.36/164.29 U91(x0, x1, active(x2)) 460.36/164.29 U92(mark(x0), x1, x2) 460.36/164.29 U92(x0, mark(x1), x2) 460.36/164.29 U92(x0, x1, mark(x2)) 460.36/164.29 U92(active(x0), x1, x2) 460.36/164.29 U92(x0, active(x1), x2) 460.36/164.29 U92(x0, x1, active(x2)) 460.36/164.29 U93(mark(x0), x1, x2) 460.36/164.29 U93(x0, mark(x1), x2) 460.36/164.29 U93(x0, x1, mark(x2)) 460.36/164.29 U93(active(x0), x1, x2) 460.36/164.29 U93(x0, active(x1), x2) 460.36/164.29 U93(x0, x1, active(x2)) 460.36/164.29 U94(mark(x0), x1) 460.36/164.29 U94(x0, mark(x1)) 460.36/164.29 U94(active(x0), x1) 460.36/164.29 U94(x0, active(x1)) 460.36/164.29 s(mark(x0)) 460.36/164.29 s(active(x0)) 460.36/164.29 length(mark(x0)) 460.36/164.29 length(active(x0)) 460.36/164.29 460.36/164.29 We have to consider all minimal (P,Q,R)-chains. 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (329) QDPOrderProof (EQUIVALENT) 460.36/164.29 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.29 460.36/164.29 460.36/164.29 The following pairs can be oriented strictly and are deleted. 460.36/164.29 460.36/164.29 ACTIVE(isNatKind(s(V1))) -> MARK(U71(isNatKind(V1))) 460.36/164.29 The remaining pairs can at least be oriented weakly. 460.36/164.29 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.29 460.36/164.29 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.29 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U44_3(x_1, ..., x_3) ) = 1 460.36/164.29 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.29 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.29 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U82_3(x_1, ..., x_3) ) = 0 460.36/164.29 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U84_3(x_1, ..., x_3) ) = 0 460.36/164.29 POL( U85_2(x_1, x_2) ) = 0 460.36/164.29 POL( mark_1(x_1) ) = 2 460.36/164.29 POL( zeros ) = 0 460.36/164.29 POL( active_1(x_1) ) = max{0, -2} 460.36/164.29 POL( cons_2(x_1, x_2) ) = 2 460.36/164.29 POL( 0 ) = 0 460.36/164.29 POL( U11_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.29 POL( tt ) = 0 460.36/164.29 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.29 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.29 POL( U13_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( isNatList_1(x_1) ) = 0 460.36/164.29 POL( U21_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.29 POL( U22_2(x_1, x_2) ) = x_2 + 2 460.36/164.29 POL( isNatKind_1(x_1) ) = 2x_1 + 1 460.36/164.29 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( isNat_1(x_1) ) = 0 460.36/164.29 POL( U31_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.29 POL( U32_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.29 POL( U33_1(x_1) ) = 2 460.36/164.29 POL( U46_1(x_1) ) = x_1 + 1 460.36/164.29 POL( isNatIList_1(x_1) ) = 0 460.36/164.29 POL( U52_1(x_1) ) = x_1 + 1 460.36/164.29 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.29 POL( U91_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 460.36/164.29 POL( U92_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.29 POL( U93_3(x_1, ..., x_3) ) = 2x_3 + 2 460.36/164.29 POL( U94_2(x_1, x_2) ) = x_2 + 2 460.36/164.29 POL( s_1(x_1) ) = 2x_1 + 2 460.36/164.29 POL( length_1(x_1) ) = 2 460.36/164.29 POL( U61_1(x_1) ) = max{0, -2} 460.36/164.29 POL( U71_1(x_1) ) = x_1 + 1 460.36/164.29 POL( nil ) = 0 460.36/164.29 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.29 460.36/164.29 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.29 460.36/164.29 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.29 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.29 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.29 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.29 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.29 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.29 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.29 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.29 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.29 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.29 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.29 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.29 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.29 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.29 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.29 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.29 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.29 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.29 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.29 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.29 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.29 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.29 460.36/164.29 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (330) 460.36/164.29 Obligation: 460.36/164.29 Q DP problem: 460.36/164.29 The TRS P consists of the following rules: 460.36/164.29 460.36/164.29 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.29 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.29 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.29 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.29 MARK(U46(X)) -> MARK(X) 460.36/164.29 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.29 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.29 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.29 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.29 MARK(U52(X)) -> MARK(X) 460.36/164.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 460.36/164.29 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.29 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.29 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.29 MARK(U86(X)) -> MARK(X) 460.36/164.29 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.29 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U71(X)) -> MARK(X) 460.36/164.29 460.36/164.29 The TRS R consists of the following rules: 460.36/164.29 460.36/164.29 mark(zeros) -> active(zeros) 460.36/164.29 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.29 active(zeros) -> mark(cons(0, zeros)) 460.36/164.29 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.29 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.29 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.29 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.29 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.29 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.29 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.29 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.29 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.29 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.29 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.29 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.29 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.29 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.29 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.29 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.29 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.29 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.29 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.29 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.29 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.29 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.29 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.29 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.29 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.29 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.29 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.29 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.29 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.29 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.29 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.29 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.29 mark(s(X)) -> active(s(mark(X))) 460.36/164.29 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.29 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.29 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.29 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.29 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.29 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.29 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.29 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.29 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.29 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.29 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.29 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.29 mark(0) -> active(0) 460.36/164.29 mark(tt) -> active(tt) 460.36/164.29 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.29 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.29 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.29 mark(isNat(X)) -> active(isNat(X)) 460.36/164.29 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.29 mark(length(X)) -> active(length(mark(X))) 460.36/164.29 mark(nil) -> active(nil) 460.36/164.29 length(active(X)) -> length(X) 460.36/164.29 length(mark(X)) -> length(X) 460.36/164.29 active(U13(tt)) -> mark(tt) 460.36/164.29 active(U23(tt)) -> mark(tt) 460.36/164.29 active(U33(tt)) -> mark(tt) 460.36/164.29 active(U46(tt)) -> mark(tt) 460.36/164.29 active(U52(tt)) -> mark(tt) 460.36/164.29 active(U61(tt)) -> mark(tt) 460.36/164.29 active(U71(tt)) -> mark(tt) 460.36/164.29 active(U86(tt)) -> mark(tt) 460.36/164.29 active(isNat(0)) -> mark(tt) 460.36/164.29 active(isNatIList(zeros)) -> mark(tt) 460.36/164.29 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.29 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.29 active(isNatKind(0)) -> mark(tt) 460.36/164.29 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.29 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.29 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.29 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.29 U13(active(X)) -> U13(X) 460.36/164.29 U13(mark(X)) -> U13(X) 460.36/164.29 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.29 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.29 U23(active(X)) -> U23(X) 460.36/164.29 U23(mark(X)) -> U23(X) 460.36/164.29 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.29 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.29 U33(active(X)) -> U33(X) 460.36/164.29 U33(mark(X)) -> U33(X) 460.36/164.29 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.29 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.29 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.29 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.29 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.29 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.29 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.29 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.29 U46(active(X)) -> U46(X) 460.36/164.29 U46(mark(X)) -> U46(X) 460.36/164.29 U52(active(X)) -> U52(X) 460.36/164.29 U52(mark(X)) -> U52(X) 460.36/164.29 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.29 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.29 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.29 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.29 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.29 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.29 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.29 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.29 U86(active(X)) -> U86(X) 460.36/164.29 U86(mark(X)) -> U86(X) 460.36/164.29 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.29 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.29 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.29 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.29 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.29 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.29 s(active(X)) -> s(X) 460.36/164.29 s(mark(X)) -> s(X) 460.36/164.29 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.29 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.29 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.29 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.29 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.29 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.29 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.29 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.29 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.29 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.29 U61(active(X)) -> U61(X) 460.36/164.29 U61(mark(X)) -> U61(X) 460.36/164.29 U71(active(X)) -> U71(X) 460.36/164.29 U71(mark(X)) -> U71(X) 460.36/164.29 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.29 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.29 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.29 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.29 460.36/164.29 The set Q consists of the following terms: 460.36/164.29 460.36/164.29 active(zeros) 460.36/164.29 active(U11(tt, x0)) 460.36/164.29 active(U12(tt, x0)) 460.36/164.29 active(U13(tt)) 460.36/164.29 active(U21(tt, x0)) 460.36/164.29 active(U22(tt, x0)) 460.36/164.29 active(U23(tt)) 460.36/164.29 active(U31(tt, x0)) 460.36/164.29 active(U32(tt, x0)) 460.36/164.29 active(U33(tt)) 460.36/164.29 active(U41(tt, x0, x1)) 460.36/164.29 active(U42(tt, x0, x1)) 460.36/164.29 active(U43(tt, x0, x1)) 460.36/164.29 active(U44(tt, x0, x1)) 460.36/164.29 active(U45(tt, x0)) 460.36/164.29 active(U46(tt)) 460.36/164.29 active(U51(tt, x0)) 460.36/164.29 active(U52(tt)) 460.36/164.29 active(U61(tt)) 460.36/164.29 active(U71(tt)) 460.36/164.29 active(U81(tt, x0, x1)) 460.36/164.29 active(U82(tt, x0, x1)) 460.36/164.29 active(U83(tt, x0, x1)) 460.36/164.29 active(U84(tt, x0, x1)) 460.36/164.29 active(U85(tt, x0)) 460.36/164.29 active(U86(tt)) 460.36/164.29 active(U91(tt, x0, x1)) 460.36/164.29 active(U92(tt, x0, x1)) 460.36/164.29 active(U93(tt, x0, x1)) 460.36/164.29 active(U94(tt, x0)) 460.36/164.29 active(isNat(0)) 460.36/164.29 active(isNat(length(x0))) 460.36/164.29 active(isNat(s(x0))) 460.36/164.29 active(isNatIList(x0)) 460.36/164.29 active(isNatIListKind(nil)) 460.36/164.29 active(isNatIListKind(zeros)) 460.36/164.29 active(isNatIListKind(cons(x0, x1))) 460.36/164.29 active(isNatKind(0)) 460.36/164.29 active(isNatKind(length(x0))) 460.36/164.29 active(isNatKind(s(x0))) 460.36/164.29 active(isNatList(nil)) 460.36/164.29 active(isNatList(cons(x0, x1))) 460.36/164.29 active(length(nil)) 460.36/164.29 active(length(cons(x0, x1))) 460.36/164.29 mark(zeros) 460.36/164.29 mark(cons(x0, x1)) 460.36/164.29 mark(0) 460.36/164.29 mark(U11(x0, x1)) 460.36/164.29 mark(tt) 460.36/164.29 mark(U12(x0, x1)) 460.36/164.29 mark(isNatIListKind(x0)) 460.36/164.29 mark(U13(x0)) 460.36/164.29 mark(isNatList(x0)) 460.36/164.29 mark(U21(x0, x1)) 460.36/164.29 mark(U22(x0, x1)) 460.36/164.29 mark(isNatKind(x0)) 460.36/164.29 mark(U23(x0)) 460.36/164.29 mark(isNat(x0)) 460.36/164.29 mark(U31(x0, x1)) 460.36/164.29 mark(U32(x0, x1)) 460.36/164.29 mark(U33(x0)) 460.36/164.29 mark(U41(x0, x1, x2)) 460.36/164.29 mark(U42(x0, x1, x2)) 460.36/164.29 mark(U43(x0, x1, x2)) 460.36/164.29 mark(U44(x0, x1, x2)) 460.36/164.29 mark(U45(x0, x1)) 460.36/164.29 mark(U46(x0)) 460.36/164.29 mark(isNatIList(x0)) 460.36/164.29 mark(U51(x0, x1)) 460.36/164.29 mark(U52(x0)) 460.36/164.29 mark(U61(x0)) 460.36/164.29 mark(U71(x0)) 460.36/164.29 mark(U81(x0, x1, x2)) 460.36/164.29 mark(U82(x0, x1, x2)) 460.36/164.29 mark(U83(x0, x1, x2)) 460.36/164.29 mark(U84(x0, x1, x2)) 460.36/164.29 mark(U85(x0, x1)) 460.36/164.29 mark(U86(x0)) 460.36/164.29 mark(U91(x0, x1, x2)) 460.36/164.29 mark(U92(x0, x1, x2)) 460.36/164.29 mark(U93(x0, x1, x2)) 460.36/164.29 mark(U94(x0, x1)) 460.36/164.29 mark(s(x0)) 460.36/164.29 mark(length(x0)) 460.36/164.29 mark(nil) 460.36/164.29 cons(mark(x0), x1) 460.36/164.29 cons(x0, mark(x1)) 460.36/164.29 cons(active(x0), x1) 460.36/164.29 cons(x0, active(x1)) 460.36/164.29 U11(mark(x0), x1) 460.36/164.29 U11(x0, mark(x1)) 460.36/164.29 U11(active(x0), x1) 460.36/164.29 U11(x0, active(x1)) 460.36/164.29 U12(mark(x0), x1) 460.36/164.29 U12(x0, mark(x1)) 460.36/164.29 U12(active(x0), x1) 460.36/164.29 U12(x0, active(x1)) 460.36/164.29 isNatIListKind(mark(x0)) 460.36/164.29 isNatIListKind(active(x0)) 460.36/164.29 U13(mark(x0)) 460.36/164.29 U13(active(x0)) 460.36/164.29 isNatList(mark(x0)) 460.36/164.29 isNatList(active(x0)) 460.36/164.29 U21(mark(x0), x1) 460.36/164.29 U21(x0, mark(x1)) 460.36/164.29 U21(active(x0), x1) 460.36/164.29 U21(x0, active(x1)) 460.36/164.29 U22(mark(x0), x1) 460.36/164.29 U22(x0, mark(x1)) 460.36/164.29 U22(active(x0), x1) 460.36/164.29 U22(x0, active(x1)) 460.36/164.29 isNatKind(mark(x0)) 460.36/164.29 isNatKind(active(x0)) 460.36/164.29 U23(mark(x0)) 460.36/164.29 U23(active(x0)) 460.36/164.29 isNat(mark(x0)) 460.36/164.29 isNat(active(x0)) 460.36/164.29 U31(mark(x0), x1) 460.36/164.29 U31(x0, mark(x1)) 460.36/164.29 U31(active(x0), x1) 460.36/164.29 U31(x0, active(x1)) 460.36/164.29 U32(mark(x0), x1) 460.36/164.29 U32(x0, mark(x1)) 460.36/164.29 U32(active(x0), x1) 460.36/164.29 U32(x0, active(x1)) 460.36/164.29 U33(mark(x0)) 460.36/164.29 U33(active(x0)) 460.36/164.29 U41(mark(x0), x1, x2) 460.36/164.29 U41(x0, mark(x1), x2) 460.36/164.29 U41(x0, x1, mark(x2)) 460.36/164.29 U41(active(x0), x1, x2) 460.36/164.29 U41(x0, active(x1), x2) 460.36/164.29 U41(x0, x1, active(x2)) 460.36/164.29 U42(mark(x0), x1, x2) 460.36/164.29 U42(x0, mark(x1), x2) 460.36/164.29 U42(x0, x1, mark(x2)) 460.36/164.29 U42(active(x0), x1, x2) 460.36/164.29 U42(x0, active(x1), x2) 460.36/164.29 U42(x0, x1, active(x2)) 460.36/164.29 U43(mark(x0), x1, x2) 460.36/164.29 U43(x0, mark(x1), x2) 460.36/164.29 U43(x0, x1, mark(x2)) 460.36/164.29 U43(active(x0), x1, x2) 460.36/164.29 U43(x0, active(x1), x2) 460.36/164.29 U43(x0, x1, active(x2)) 460.36/164.29 U44(mark(x0), x1, x2) 460.36/164.29 U44(x0, mark(x1), x2) 460.36/164.29 U44(x0, x1, mark(x2)) 460.36/164.29 U44(active(x0), x1, x2) 460.36/164.29 U44(x0, active(x1), x2) 460.36/164.29 U44(x0, x1, active(x2)) 460.36/164.29 U45(mark(x0), x1) 460.36/164.29 U45(x0, mark(x1)) 460.36/164.29 U45(active(x0), x1) 460.36/164.29 U45(x0, active(x1)) 460.36/164.29 U46(mark(x0)) 460.36/164.29 U46(active(x0)) 460.36/164.29 isNatIList(mark(x0)) 460.36/164.29 isNatIList(active(x0)) 460.36/164.29 U51(mark(x0), x1) 460.36/164.29 U51(x0, mark(x1)) 460.36/164.29 U51(active(x0), x1) 460.36/164.29 U51(x0, active(x1)) 460.36/164.29 U52(mark(x0)) 460.36/164.29 U52(active(x0)) 460.36/164.29 U61(mark(x0)) 460.36/164.29 U61(active(x0)) 460.36/164.29 U71(mark(x0)) 460.36/164.29 U71(active(x0)) 460.36/164.29 U81(mark(x0), x1, x2) 460.36/164.29 U81(x0, mark(x1), x2) 460.36/164.29 U81(x0, x1, mark(x2)) 460.36/164.29 U81(active(x0), x1, x2) 460.36/164.29 U81(x0, active(x1), x2) 460.36/164.29 U81(x0, x1, active(x2)) 460.36/164.29 U82(mark(x0), x1, x2) 460.36/164.29 U82(x0, mark(x1), x2) 460.36/164.29 U82(x0, x1, mark(x2)) 460.36/164.29 U82(active(x0), x1, x2) 460.36/164.29 U82(x0, active(x1), x2) 460.36/164.29 U82(x0, x1, active(x2)) 460.36/164.29 U83(mark(x0), x1, x2) 460.36/164.29 U83(x0, mark(x1), x2) 460.36/164.29 U83(x0, x1, mark(x2)) 460.36/164.29 U83(active(x0), x1, x2) 460.36/164.29 U83(x0, active(x1), x2) 460.36/164.29 U83(x0, x1, active(x2)) 460.36/164.29 U84(mark(x0), x1, x2) 460.36/164.29 U84(x0, mark(x1), x2) 460.36/164.29 U84(x0, x1, mark(x2)) 460.36/164.29 U84(active(x0), x1, x2) 460.36/164.29 U84(x0, active(x1), x2) 460.36/164.29 U84(x0, x1, active(x2)) 460.36/164.29 U85(mark(x0), x1) 460.36/164.29 U85(x0, mark(x1)) 460.36/164.29 U85(active(x0), x1) 460.36/164.29 U85(x0, active(x1)) 460.36/164.29 U86(mark(x0)) 460.36/164.29 U86(active(x0)) 460.36/164.29 U91(mark(x0), x1, x2) 460.36/164.29 U91(x0, mark(x1), x2) 460.36/164.29 U91(x0, x1, mark(x2)) 460.36/164.29 U91(active(x0), x1, x2) 460.36/164.29 U91(x0, active(x1), x2) 460.36/164.29 U91(x0, x1, active(x2)) 460.36/164.29 U92(mark(x0), x1, x2) 460.36/164.29 U92(x0, mark(x1), x2) 460.36/164.29 U92(x0, x1, mark(x2)) 460.36/164.29 U92(active(x0), x1, x2) 460.36/164.29 U92(x0, active(x1), x2) 460.36/164.29 U92(x0, x1, active(x2)) 460.36/164.29 U93(mark(x0), x1, x2) 460.36/164.29 U93(x0, mark(x1), x2) 460.36/164.29 U93(x0, x1, mark(x2)) 460.36/164.29 U93(active(x0), x1, x2) 460.36/164.29 U93(x0, active(x1), x2) 460.36/164.29 U93(x0, x1, active(x2)) 460.36/164.29 U94(mark(x0), x1) 460.36/164.29 U94(x0, mark(x1)) 460.36/164.29 U94(active(x0), x1) 460.36/164.29 U94(x0, active(x1)) 460.36/164.29 s(mark(x0)) 460.36/164.29 s(active(x0)) 460.36/164.29 length(mark(x0)) 460.36/164.29 length(active(x0)) 460.36/164.29 460.36/164.29 We have to consider all minimal (P,Q,R)-chains. 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (331) DependencyGraphProof (EQUIVALENT) 460.36/164.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (332) 460.36/164.29 Obligation: 460.36/164.29 Q DP problem: 460.36/164.29 The TRS P consists of the following rules: 460.36/164.29 460.36/164.29 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.29 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.29 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.29 MARK(U46(X)) -> MARK(X) 460.36/164.29 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.29 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.29 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.29 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.29 MARK(U52(X)) -> MARK(X) 460.36/164.29 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.29 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.29 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.29 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.29 MARK(U86(X)) -> MARK(X) 460.36/164.29 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.29 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.29 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U71(X)) -> MARK(X) 460.36/164.29 460.36/164.29 The TRS R consists of the following rules: 460.36/164.29 460.36/164.29 mark(zeros) -> active(zeros) 460.36/164.29 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.29 active(zeros) -> mark(cons(0, zeros)) 460.36/164.29 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.29 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.29 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.29 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.29 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.29 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.29 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.29 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.29 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.29 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.29 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.29 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.29 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.29 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.29 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.29 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.29 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.29 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.29 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.29 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.29 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.29 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.29 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.29 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.29 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.29 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.29 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.29 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.29 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.29 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.29 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.29 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.29 mark(s(X)) -> active(s(mark(X))) 460.36/164.29 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.29 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.29 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.29 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.29 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.29 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.29 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.29 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.29 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.29 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.29 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.29 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.29 mark(0) -> active(0) 460.36/164.29 mark(tt) -> active(tt) 460.36/164.29 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.29 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.29 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.29 mark(isNat(X)) -> active(isNat(X)) 460.36/164.29 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.29 mark(length(X)) -> active(length(mark(X))) 460.36/164.29 mark(nil) -> active(nil) 460.36/164.29 length(active(X)) -> length(X) 460.36/164.29 length(mark(X)) -> length(X) 460.36/164.29 active(U13(tt)) -> mark(tt) 460.36/164.29 active(U23(tt)) -> mark(tt) 460.36/164.29 active(U33(tt)) -> mark(tt) 460.36/164.29 active(U46(tt)) -> mark(tt) 460.36/164.29 active(U52(tt)) -> mark(tt) 460.36/164.29 active(U61(tt)) -> mark(tt) 460.36/164.29 active(U71(tt)) -> mark(tt) 460.36/164.29 active(U86(tt)) -> mark(tt) 460.36/164.29 active(isNat(0)) -> mark(tt) 460.36/164.29 active(isNatIList(zeros)) -> mark(tt) 460.36/164.29 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.29 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.29 active(isNatKind(0)) -> mark(tt) 460.36/164.29 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.29 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.29 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.29 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.29 U13(active(X)) -> U13(X) 460.36/164.29 U13(mark(X)) -> U13(X) 460.36/164.29 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.29 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.29 U23(active(X)) -> U23(X) 460.36/164.29 U23(mark(X)) -> U23(X) 460.36/164.29 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.29 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.29 U33(active(X)) -> U33(X) 460.36/164.29 U33(mark(X)) -> U33(X) 460.36/164.29 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.29 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.29 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.29 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.29 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.29 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.29 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.29 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.29 U46(active(X)) -> U46(X) 460.36/164.29 U46(mark(X)) -> U46(X) 460.36/164.29 U52(active(X)) -> U52(X) 460.36/164.29 U52(mark(X)) -> U52(X) 460.36/164.29 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.29 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.29 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.29 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.29 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.29 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.29 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.29 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.29 U86(active(X)) -> U86(X) 460.36/164.29 U86(mark(X)) -> U86(X) 460.36/164.29 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.29 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.29 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.29 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.29 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.29 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.29 s(active(X)) -> s(X) 460.36/164.29 s(mark(X)) -> s(X) 460.36/164.29 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.29 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.29 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.29 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.29 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.29 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.29 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.29 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.29 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.29 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.29 U61(active(X)) -> U61(X) 460.36/164.29 U61(mark(X)) -> U61(X) 460.36/164.29 U71(active(X)) -> U71(X) 460.36/164.29 U71(mark(X)) -> U71(X) 460.36/164.29 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.29 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.29 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.29 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.29 460.36/164.29 The set Q consists of the following terms: 460.36/164.29 460.36/164.29 active(zeros) 460.36/164.29 active(U11(tt, x0)) 460.36/164.29 active(U12(tt, x0)) 460.36/164.29 active(U13(tt)) 460.36/164.29 active(U21(tt, x0)) 460.36/164.29 active(U22(tt, x0)) 460.36/164.29 active(U23(tt)) 460.36/164.29 active(U31(tt, x0)) 460.36/164.29 active(U32(tt, x0)) 460.36/164.29 active(U33(tt)) 460.36/164.29 active(U41(tt, x0, x1)) 460.36/164.29 active(U42(tt, x0, x1)) 460.36/164.29 active(U43(tt, x0, x1)) 460.36/164.29 active(U44(tt, x0, x1)) 460.36/164.29 active(U45(tt, x0)) 460.36/164.29 active(U46(tt)) 460.36/164.29 active(U51(tt, x0)) 460.36/164.29 active(U52(tt)) 460.36/164.29 active(U61(tt)) 460.36/164.29 active(U71(tt)) 460.36/164.29 active(U81(tt, x0, x1)) 460.36/164.29 active(U82(tt, x0, x1)) 460.36/164.29 active(U83(tt, x0, x1)) 460.36/164.29 active(U84(tt, x0, x1)) 460.36/164.29 active(U85(tt, x0)) 460.36/164.29 active(U86(tt)) 460.36/164.29 active(U91(tt, x0, x1)) 460.36/164.29 active(U92(tt, x0, x1)) 460.36/164.29 active(U93(tt, x0, x1)) 460.36/164.29 active(U94(tt, x0)) 460.36/164.29 active(isNat(0)) 460.36/164.29 active(isNat(length(x0))) 460.36/164.29 active(isNat(s(x0))) 460.36/164.29 active(isNatIList(x0)) 460.36/164.29 active(isNatIListKind(nil)) 460.36/164.29 active(isNatIListKind(zeros)) 460.36/164.29 active(isNatIListKind(cons(x0, x1))) 460.36/164.29 active(isNatKind(0)) 460.36/164.29 active(isNatKind(length(x0))) 460.36/164.29 active(isNatKind(s(x0))) 460.36/164.29 active(isNatList(nil)) 460.36/164.29 active(isNatList(cons(x0, x1))) 460.36/164.29 active(length(nil)) 460.36/164.29 active(length(cons(x0, x1))) 460.36/164.29 mark(zeros) 460.36/164.29 mark(cons(x0, x1)) 460.36/164.29 mark(0) 460.36/164.29 mark(U11(x0, x1)) 460.36/164.29 mark(tt) 460.36/164.29 mark(U12(x0, x1)) 460.36/164.29 mark(isNatIListKind(x0)) 460.36/164.29 mark(U13(x0)) 460.36/164.29 mark(isNatList(x0)) 460.36/164.29 mark(U21(x0, x1)) 460.36/164.29 mark(U22(x0, x1)) 460.36/164.29 mark(isNatKind(x0)) 460.36/164.29 mark(U23(x0)) 460.36/164.29 mark(isNat(x0)) 460.36/164.29 mark(U31(x0, x1)) 460.36/164.29 mark(U32(x0, x1)) 460.36/164.29 mark(U33(x0)) 460.36/164.29 mark(U41(x0, x1, x2)) 460.36/164.29 mark(U42(x0, x1, x2)) 460.36/164.29 mark(U43(x0, x1, x2)) 460.36/164.29 mark(U44(x0, x1, x2)) 460.36/164.29 mark(U45(x0, x1)) 460.36/164.29 mark(U46(x0)) 460.36/164.29 mark(isNatIList(x0)) 460.36/164.29 mark(U51(x0, x1)) 460.36/164.29 mark(U52(x0)) 460.36/164.29 mark(U61(x0)) 460.36/164.29 mark(U71(x0)) 460.36/164.29 mark(U81(x0, x1, x2)) 460.36/164.29 mark(U82(x0, x1, x2)) 460.36/164.29 mark(U83(x0, x1, x2)) 460.36/164.29 mark(U84(x0, x1, x2)) 460.36/164.29 mark(U85(x0, x1)) 460.36/164.29 mark(U86(x0)) 460.36/164.29 mark(U91(x0, x1, x2)) 460.36/164.29 mark(U92(x0, x1, x2)) 460.36/164.29 mark(U93(x0, x1, x2)) 460.36/164.29 mark(U94(x0, x1)) 460.36/164.29 mark(s(x0)) 460.36/164.29 mark(length(x0)) 460.36/164.29 mark(nil) 460.36/164.29 cons(mark(x0), x1) 460.36/164.29 cons(x0, mark(x1)) 460.36/164.29 cons(active(x0), x1) 460.36/164.29 cons(x0, active(x1)) 460.36/164.29 U11(mark(x0), x1) 460.36/164.29 U11(x0, mark(x1)) 460.36/164.29 U11(active(x0), x1) 460.36/164.29 U11(x0, active(x1)) 460.36/164.29 U12(mark(x0), x1) 460.36/164.29 U12(x0, mark(x1)) 460.36/164.29 U12(active(x0), x1) 460.36/164.29 U12(x0, active(x1)) 460.36/164.29 isNatIListKind(mark(x0)) 460.36/164.29 isNatIListKind(active(x0)) 460.36/164.29 U13(mark(x0)) 460.36/164.29 U13(active(x0)) 460.36/164.29 isNatList(mark(x0)) 460.36/164.29 isNatList(active(x0)) 460.36/164.29 U21(mark(x0), x1) 460.36/164.29 U21(x0, mark(x1)) 460.36/164.29 U21(active(x0), x1) 460.36/164.29 U21(x0, active(x1)) 460.36/164.29 U22(mark(x0), x1) 460.36/164.29 U22(x0, mark(x1)) 460.36/164.29 U22(active(x0), x1) 460.36/164.29 U22(x0, active(x1)) 460.36/164.29 isNatKind(mark(x0)) 460.36/164.29 isNatKind(active(x0)) 460.36/164.29 U23(mark(x0)) 460.36/164.29 U23(active(x0)) 460.36/164.29 isNat(mark(x0)) 460.36/164.29 isNat(active(x0)) 460.36/164.29 U31(mark(x0), x1) 460.36/164.29 U31(x0, mark(x1)) 460.36/164.29 U31(active(x0), x1) 460.36/164.29 U31(x0, active(x1)) 460.36/164.29 U32(mark(x0), x1) 460.36/164.29 U32(x0, mark(x1)) 460.36/164.29 U32(active(x0), x1) 460.36/164.29 U32(x0, active(x1)) 460.36/164.29 U33(mark(x0)) 460.36/164.29 U33(active(x0)) 460.36/164.29 U41(mark(x0), x1, x2) 460.36/164.29 U41(x0, mark(x1), x2) 460.36/164.29 U41(x0, x1, mark(x2)) 460.36/164.29 U41(active(x0), x1, x2) 460.36/164.29 U41(x0, active(x1), x2) 460.36/164.29 U41(x0, x1, active(x2)) 460.36/164.29 U42(mark(x0), x1, x2) 460.36/164.29 U42(x0, mark(x1), x2) 460.36/164.29 U42(x0, x1, mark(x2)) 460.36/164.29 U42(active(x0), x1, x2) 460.36/164.29 U42(x0, active(x1), x2) 460.36/164.29 U42(x0, x1, active(x2)) 460.36/164.29 U43(mark(x0), x1, x2) 460.36/164.29 U43(x0, mark(x1), x2) 460.36/164.29 U43(x0, x1, mark(x2)) 460.36/164.29 U43(active(x0), x1, x2) 460.36/164.29 U43(x0, active(x1), x2) 460.36/164.29 U43(x0, x1, active(x2)) 460.36/164.29 U44(mark(x0), x1, x2) 460.36/164.29 U44(x0, mark(x1), x2) 460.36/164.29 U44(x0, x1, mark(x2)) 460.36/164.29 U44(active(x0), x1, x2) 460.36/164.29 U44(x0, active(x1), x2) 460.36/164.29 U44(x0, x1, active(x2)) 460.36/164.29 U45(mark(x0), x1) 460.36/164.29 U45(x0, mark(x1)) 460.36/164.29 U45(active(x0), x1) 460.36/164.29 U45(x0, active(x1)) 460.36/164.29 U46(mark(x0)) 460.36/164.29 U46(active(x0)) 460.36/164.29 isNatIList(mark(x0)) 460.36/164.29 isNatIList(active(x0)) 460.36/164.29 U51(mark(x0), x1) 460.36/164.29 U51(x0, mark(x1)) 460.36/164.29 U51(active(x0), x1) 460.36/164.29 U51(x0, active(x1)) 460.36/164.29 U52(mark(x0)) 460.36/164.29 U52(active(x0)) 460.36/164.29 U61(mark(x0)) 460.36/164.29 U61(active(x0)) 460.36/164.29 U71(mark(x0)) 460.36/164.29 U71(active(x0)) 460.36/164.29 U81(mark(x0), x1, x2) 460.36/164.29 U81(x0, mark(x1), x2) 460.36/164.29 U81(x0, x1, mark(x2)) 460.36/164.29 U81(active(x0), x1, x2) 460.36/164.29 U81(x0, active(x1), x2) 460.36/164.29 U81(x0, x1, active(x2)) 460.36/164.29 U82(mark(x0), x1, x2) 460.36/164.29 U82(x0, mark(x1), x2) 460.36/164.29 U82(x0, x1, mark(x2)) 460.36/164.29 U82(active(x0), x1, x2) 460.36/164.29 U82(x0, active(x1), x2) 460.36/164.29 U82(x0, x1, active(x2)) 460.36/164.29 U83(mark(x0), x1, x2) 460.36/164.29 U83(x0, mark(x1), x2) 460.36/164.29 U83(x0, x1, mark(x2)) 460.36/164.29 U83(active(x0), x1, x2) 460.36/164.29 U83(x0, active(x1), x2) 460.36/164.29 U83(x0, x1, active(x2)) 460.36/164.29 U84(mark(x0), x1, x2) 460.36/164.29 U84(x0, mark(x1), x2) 460.36/164.29 U84(x0, x1, mark(x2)) 460.36/164.29 U84(active(x0), x1, x2) 460.36/164.29 U84(x0, active(x1), x2) 460.36/164.29 U84(x0, x1, active(x2)) 460.36/164.29 U85(mark(x0), x1) 460.36/164.29 U85(x0, mark(x1)) 460.36/164.29 U85(active(x0), x1) 460.36/164.29 U85(x0, active(x1)) 460.36/164.29 U86(mark(x0)) 460.36/164.29 U86(active(x0)) 460.36/164.29 U91(mark(x0), x1, x2) 460.36/164.29 U91(x0, mark(x1), x2) 460.36/164.29 U91(x0, x1, mark(x2)) 460.36/164.29 U91(active(x0), x1, x2) 460.36/164.29 U91(x0, active(x1), x2) 460.36/164.29 U91(x0, x1, active(x2)) 460.36/164.29 U92(mark(x0), x1, x2) 460.36/164.29 U92(x0, mark(x1), x2) 460.36/164.29 U92(x0, x1, mark(x2)) 460.36/164.29 U92(active(x0), x1, x2) 460.36/164.29 U92(x0, active(x1), x2) 460.36/164.29 U92(x0, x1, active(x2)) 460.36/164.29 U93(mark(x0), x1, x2) 460.36/164.29 U93(x0, mark(x1), x2) 460.36/164.29 U93(x0, x1, mark(x2)) 460.36/164.29 U93(active(x0), x1, x2) 460.36/164.29 U93(x0, active(x1), x2) 460.36/164.29 U93(x0, x1, active(x2)) 460.36/164.29 U94(mark(x0), x1) 460.36/164.29 U94(x0, mark(x1)) 460.36/164.29 U94(active(x0), x1) 460.36/164.29 U94(x0, active(x1)) 460.36/164.29 s(mark(x0)) 460.36/164.29 s(active(x0)) 460.36/164.29 length(mark(x0)) 460.36/164.29 length(active(x0)) 460.36/164.29 460.36/164.29 We have to consider all minimal (P,Q,R)-chains. 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (333) QDPOrderProof (EQUIVALENT) 460.36/164.29 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.29 460.36/164.29 460.36/164.29 The following pairs can be oriented strictly and are deleted. 460.36/164.29 460.36/164.29 MARK(U71(X)) -> MARK(X) 460.36/164.29 The remaining pairs can at least be oriented weakly. 460.36/164.29 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.29 460.36/164.29 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.29 POL( U41_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U45_2(x_1, x_2) ) = 1 460.36/164.29 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.29 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.29 POL( mark_1(x_1) ) = 2 460.36/164.29 POL( zeros ) = 0 460.36/164.29 POL( active_1(x_1) ) = 2 460.36/164.29 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( 0 ) = 2 460.36/164.29 POL( U11_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.29 POL( tt ) = 0 460.36/164.29 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.29 POL( U13_1(x_1) ) = 2 460.36/164.29 POL( isNatList_1(x_1) ) = 0 460.36/164.29 POL( U21_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.29 POL( U22_2(x_1, x_2) ) = max{0, x_1 - 1} 460.36/164.29 POL( isNatKind_1(x_1) ) = 0 460.36/164.29 POL( U23_1(x_1) ) = 0 460.36/164.29 POL( isNat_1(x_1) ) = 0 460.36/164.29 POL( U31_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.29 POL( U32_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( U33_1(x_1) ) = 0 460.36/164.29 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.29 POL( isNatIList_1(x_1) ) = 0 460.36/164.29 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.29 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.29 POL( U91_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 460.36/164.29 POL( U92_3(x_1, ..., x_3) ) = x_2 + 2 460.36/164.29 POL( U93_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( U94_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( s_1(x_1) ) = 0 460.36/164.29 POL( length_1(x_1) ) = 1 460.36/164.29 POL( U61_1(x_1) ) = 0 460.36/164.29 POL( U71_1(x_1) ) = x_1 + 2 460.36/164.29 POL( nil ) = 0 460.36/164.29 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.29 460.36/164.29 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.29 none 460.36/164.29 460.36/164.29 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (334) 460.36/164.29 Obligation: 460.36/164.29 Q DP problem: 460.36/164.29 The TRS P consists of the following rules: 460.36/164.29 460.36/164.29 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.29 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.29 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.29 MARK(U46(X)) -> MARK(X) 460.36/164.29 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.29 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.29 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.29 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.29 MARK(U52(X)) -> MARK(X) 460.36/164.29 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.29 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.29 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.29 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.29 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.29 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.29 MARK(U86(X)) -> MARK(X) 460.36/164.29 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.29 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.29 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.29 460.36/164.29 The TRS R consists of the following rules: 460.36/164.29 460.36/164.29 mark(zeros) -> active(zeros) 460.36/164.29 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.29 active(zeros) -> mark(cons(0, zeros)) 460.36/164.29 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.29 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.29 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.29 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.29 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.29 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.29 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.29 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.29 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.29 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.29 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.29 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.29 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.29 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.29 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.29 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.29 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.29 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.29 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.29 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.29 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.29 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.29 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.29 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.29 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.29 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.29 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.29 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.29 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.29 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.29 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.29 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.29 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.29 mark(s(X)) -> active(s(mark(X))) 460.36/164.29 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.29 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.29 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.29 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.29 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.29 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.29 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.29 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.29 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.29 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.29 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.29 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.29 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.29 mark(0) -> active(0) 460.36/164.29 mark(tt) -> active(tt) 460.36/164.29 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.29 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.29 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.29 mark(isNat(X)) -> active(isNat(X)) 460.36/164.29 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.29 mark(length(X)) -> active(length(mark(X))) 460.36/164.29 mark(nil) -> active(nil) 460.36/164.29 length(active(X)) -> length(X) 460.36/164.29 length(mark(X)) -> length(X) 460.36/164.29 active(U13(tt)) -> mark(tt) 460.36/164.29 active(U23(tt)) -> mark(tt) 460.36/164.29 active(U33(tt)) -> mark(tt) 460.36/164.29 active(U46(tt)) -> mark(tt) 460.36/164.29 active(U52(tt)) -> mark(tt) 460.36/164.29 active(U61(tt)) -> mark(tt) 460.36/164.29 active(U71(tt)) -> mark(tt) 460.36/164.29 active(U86(tt)) -> mark(tt) 460.36/164.29 active(isNat(0)) -> mark(tt) 460.36/164.29 active(isNatIList(zeros)) -> mark(tt) 460.36/164.29 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.29 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.29 active(isNatKind(0)) -> mark(tt) 460.36/164.29 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.29 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.29 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.29 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.29 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.29 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.29 U13(active(X)) -> U13(X) 460.36/164.29 U13(mark(X)) -> U13(X) 460.36/164.29 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.29 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.29 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.29 U23(active(X)) -> U23(X) 460.36/164.29 U23(mark(X)) -> U23(X) 460.36/164.29 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.29 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.29 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.29 U33(active(X)) -> U33(X) 460.36/164.29 U33(mark(X)) -> U33(X) 460.36/164.29 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.29 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.29 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.29 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.29 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.29 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.29 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.29 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.29 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.29 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.29 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.29 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.29 U46(active(X)) -> U46(X) 460.36/164.29 U46(mark(X)) -> U46(X) 460.36/164.29 U52(active(X)) -> U52(X) 460.36/164.29 U52(mark(X)) -> U52(X) 460.36/164.29 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.29 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.29 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.29 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.29 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.29 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.29 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.29 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.29 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.29 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.29 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.29 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.29 U86(active(X)) -> U86(X) 460.36/164.29 U86(mark(X)) -> U86(X) 460.36/164.29 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.29 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.29 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.29 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.29 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.29 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.29 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.29 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.29 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.29 s(active(X)) -> s(X) 460.36/164.29 s(mark(X)) -> s(X) 460.36/164.29 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.29 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.29 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.29 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.29 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.29 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.29 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.29 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.29 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.29 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.29 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.29 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.29 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.29 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.29 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.29 U61(active(X)) -> U61(X) 460.36/164.29 U61(mark(X)) -> U61(X) 460.36/164.29 U71(active(X)) -> U71(X) 460.36/164.29 U71(mark(X)) -> U71(X) 460.36/164.29 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.29 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.29 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.29 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.29 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.29 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.29 460.36/164.29 The set Q consists of the following terms: 460.36/164.29 460.36/164.29 active(zeros) 460.36/164.29 active(U11(tt, x0)) 460.36/164.29 active(U12(tt, x0)) 460.36/164.29 active(U13(tt)) 460.36/164.29 active(U21(tt, x0)) 460.36/164.29 active(U22(tt, x0)) 460.36/164.29 active(U23(tt)) 460.36/164.29 active(U31(tt, x0)) 460.36/164.29 active(U32(tt, x0)) 460.36/164.29 active(U33(tt)) 460.36/164.29 active(U41(tt, x0, x1)) 460.36/164.29 active(U42(tt, x0, x1)) 460.36/164.29 active(U43(tt, x0, x1)) 460.36/164.29 active(U44(tt, x0, x1)) 460.36/164.29 active(U45(tt, x0)) 460.36/164.29 active(U46(tt)) 460.36/164.29 active(U51(tt, x0)) 460.36/164.29 active(U52(tt)) 460.36/164.29 active(U61(tt)) 460.36/164.29 active(U71(tt)) 460.36/164.29 active(U81(tt, x0, x1)) 460.36/164.29 active(U82(tt, x0, x1)) 460.36/164.29 active(U83(tt, x0, x1)) 460.36/164.29 active(U84(tt, x0, x1)) 460.36/164.29 active(U85(tt, x0)) 460.36/164.29 active(U86(tt)) 460.36/164.29 active(U91(tt, x0, x1)) 460.36/164.29 active(U92(tt, x0, x1)) 460.36/164.29 active(U93(tt, x0, x1)) 460.36/164.29 active(U94(tt, x0)) 460.36/164.29 active(isNat(0)) 460.36/164.29 active(isNat(length(x0))) 460.36/164.29 active(isNat(s(x0))) 460.36/164.29 active(isNatIList(x0)) 460.36/164.29 active(isNatIListKind(nil)) 460.36/164.29 active(isNatIListKind(zeros)) 460.36/164.29 active(isNatIListKind(cons(x0, x1))) 460.36/164.29 active(isNatKind(0)) 460.36/164.29 active(isNatKind(length(x0))) 460.36/164.29 active(isNatKind(s(x0))) 460.36/164.29 active(isNatList(nil)) 460.36/164.29 active(isNatList(cons(x0, x1))) 460.36/164.29 active(length(nil)) 460.36/164.29 active(length(cons(x0, x1))) 460.36/164.29 mark(zeros) 460.36/164.29 mark(cons(x0, x1)) 460.36/164.29 mark(0) 460.36/164.29 mark(U11(x0, x1)) 460.36/164.29 mark(tt) 460.36/164.29 mark(U12(x0, x1)) 460.36/164.29 mark(isNatIListKind(x0)) 460.36/164.29 mark(U13(x0)) 460.36/164.29 mark(isNatList(x0)) 460.36/164.29 mark(U21(x0, x1)) 460.36/164.29 mark(U22(x0, x1)) 460.36/164.29 mark(isNatKind(x0)) 460.36/164.29 mark(U23(x0)) 460.36/164.29 mark(isNat(x0)) 460.36/164.29 mark(U31(x0, x1)) 460.36/164.29 mark(U32(x0, x1)) 460.36/164.29 mark(U33(x0)) 460.36/164.29 mark(U41(x0, x1, x2)) 460.36/164.29 mark(U42(x0, x1, x2)) 460.36/164.29 mark(U43(x0, x1, x2)) 460.36/164.29 mark(U44(x0, x1, x2)) 460.36/164.29 mark(U45(x0, x1)) 460.36/164.29 mark(U46(x0)) 460.36/164.29 mark(isNatIList(x0)) 460.36/164.29 mark(U51(x0, x1)) 460.36/164.29 mark(U52(x0)) 460.36/164.29 mark(U61(x0)) 460.36/164.29 mark(U71(x0)) 460.36/164.29 mark(U81(x0, x1, x2)) 460.36/164.29 mark(U82(x0, x1, x2)) 460.36/164.29 mark(U83(x0, x1, x2)) 460.36/164.29 mark(U84(x0, x1, x2)) 460.36/164.29 mark(U85(x0, x1)) 460.36/164.29 mark(U86(x0)) 460.36/164.29 mark(U91(x0, x1, x2)) 460.36/164.29 mark(U92(x0, x1, x2)) 460.36/164.29 mark(U93(x0, x1, x2)) 460.36/164.29 mark(U94(x0, x1)) 460.36/164.29 mark(s(x0)) 460.36/164.29 mark(length(x0)) 460.36/164.29 mark(nil) 460.36/164.29 cons(mark(x0), x1) 460.36/164.29 cons(x0, mark(x1)) 460.36/164.29 cons(active(x0), x1) 460.36/164.29 cons(x0, active(x1)) 460.36/164.29 U11(mark(x0), x1) 460.36/164.29 U11(x0, mark(x1)) 460.36/164.29 U11(active(x0), x1) 460.36/164.29 U11(x0, active(x1)) 460.36/164.29 U12(mark(x0), x1) 460.36/164.29 U12(x0, mark(x1)) 460.36/164.29 U12(active(x0), x1) 460.36/164.29 U12(x0, active(x1)) 460.36/164.29 isNatIListKind(mark(x0)) 460.36/164.29 isNatIListKind(active(x0)) 460.36/164.29 U13(mark(x0)) 460.36/164.29 U13(active(x0)) 460.36/164.29 isNatList(mark(x0)) 460.36/164.29 isNatList(active(x0)) 460.36/164.29 U21(mark(x0), x1) 460.36/164.29 U21(x0, mark(x1)) 460.36/164.29 U21(active(x0), x1) 460.36/164.29 U21(x0, active(x1)) 460.36/164.29 U22(mark(x0), x1) 460.36/164.29 U22(x0, mark(x1)) 460.36/164.29 U22(active(x0), x1) 460.36/164.29 U22(x0, active(x1)) 460.36/164.29 isNatKind(mark(x0)) 460.36/164.29 isNatKind(active(x0)) 460.36/164.29 U23(mark(x0)) 460.36/164.29 U23(active(x0)) 460.36/164.29 isNat(mark(x0)) 460.36/164.29 isNat(active(x0)) 460.36/164.29 U31(mark(x0), x1) 460.36/164.29 U31(x0, mark(x1)) 460.36/164.29 U31(active(x0), x1) 460.36/164.29 U31(x0, active(x1)) 460.36/164.29 U32(mark(x0), x1) 460.36/164.29 U32(x0, mark(x1)) 460.36/164.29 U32(active(x0), x1) 460.36/164.29 U32(x0, active(x1)) 460.36/164.29 U33(mark(x0)) 460.36/164.29 U33(active(x0)) 460.36/164.29 U41(mark(x0), x1, x2) 460.36/164.29 U41(x0, mark(x1), x2) 460.36/164.29 U41(x0, x1, mark(x2)) 460.36/164.29 U41(active(x0), x1, x2) 460.36/164.29 U41(x0, active(x1), x2) 460.36/164.29 U41(x0, x1, active(x2)) 460.36/164.29 U42(mark(x0), x1, x2) 460.36/164.29 U42(x0, mark(x1), x2) 460.36/164.29 U42(x0, x1, mark(x2)) 460.36/164.29 U42(active(x0), x1, x2) 460.36/164.29 U42(x0, active(x1), x2) 460.36/164.29 U42(x0, x1, active(x2)) 460.36/164.29 U43(mark(x0), x1, x2) 460.36/164.29 U43(x0, mark(x1), x2) 460.36/164.29 U43(x0, x1, mark(x2)) 460.36/164.29 U43(active(x0), x1, x2) 460.36/164.29 U43(x0, active(x1), x2) 460.36/164.29 U43(x0, x1, active(x2)) 460.36/164.29 U44(mark(x0), x1, x2) 460.36/164.29 U44(x0, mark(x1), x2) 460.36/164.29 U44(x0, x1, mark(x2)) 460.36/164.29 U44(active(x0), x1, x2) 460.36/164.29 U44(x0, active(x1), x2) 460.36/164.29 U44(x0, x1, active(x2)) 460.36/164.29 U45(mark(x0), x1) 460.36/164.29 U45(x0, mark(x1)) 460.36/164.29 U45(active(x0), x1) 460.36/164.29 U45(x0, active(x1)) 460.36/164.29 U46(mark(x0)) 460.36/164.29 U46(active(x0)) 460.36/164.29 isNatIList(mark(x0)) 460.36/164.29 isNatIList(active(x0)) 460.36/164.29 U51(mark(x0), x1) 460.36/164.29 U51(x0, mark(x1)) 460.36/164.29 U51(active(x0), x1) 460.36/164.29 U51(x0, active(x1)) 460.36/164.29 U52(mark(x0)) 460.36/164.29 U52(active(x0)) 460.36/164.29 U61(mark(x0)) 460.36/164.29 U61(active(x0)) 460.36/164.29 U71(mark(x0)) 460.36/164.29 U71(active(x0)) 460.36/164.29 U81(mark(x0), x1, x2) 460.36/164.29 U81(x0, mark(x1), x2) 460.36/164.29 U81(x0, x1, mark(x2)) 460.36/164.29 U81(active(x0), x1, x2) 460.36/164.29 U81(x0, active(x1), x2) 460.36/164.29 U81(x0, x1, active(x2)) 460.36/164.29 U82(mark(x0), x1, x2) 460.36/164.29 U82(x0, mark(x1), x2) 460.36/164.29 U82(x0, x1, mark(x2)) 460.36/164.29 U82(active(x0), x1, x2) 460.36/164.29 U82(x0, active(x1), x2) 460.36/164.29 U82(x0, x1, active(x2)) 460.36/164.29 U83(mark(x0), x1, x2) 460.36/164.29 U83(x0, mark(x1), x2) 460.36/164.29 U83(x0, x1, mark(x2)) 460.36/164.29 U83(active(x0), x1, x2) 460.36/164.29 U83(x0, active(x1), x2) 460.36/164.29 U83(x0, x1, active(x2)) 460.36/164.29 U84(mark(x0), x1, x2) 460.36/164.29 U84(x0, mark(x1), x2) 460.36/164.29 U84(x0, x1, mark(x2)) 460.36/164.29 U84(active(x0), x1, x2) 460.36/164.29 U84(x0, active(x1), x2) 460.36/164.29 U84(x0, x1, active(x2)) 460.36/164.29 U85(mark(x0), x1) 460.36/164.29 U85(x0, mark(x1)) 460.36/164.29 U85(active(x0), x1) 460.36/164.29 U85(x0, active(x1)) 460.36/164.29 U86(mark(x0)) 460.36/164.29 U86(active(x0)) 460.36/164.29 U91(mark(x0), x1, x2) 460.36/164.29 U91(x0, mark(x1), x2) 460.36/164.29 U91(x0, x1, mark(x2)) 460.36/164.29 U91(active(x0), x1, x2) 460.36/164.29 U91(x0, active(x1), x2) 460.36/164.29 U91(x0, x1, active(x2)) 460.36/164.29 U92(mark(x0), x1, x2) 460.36/164.29 U92(x0, mark(x1), x2) 460.36/164.29 U92(x0, x1, mark(x2)) 460.36/164.29 U92(active(x0), x1, x2) 460.36/164.29 U92(x0, active(x1), x2) 460.36/164.29 U92(x0, x1, active(x2)) 460.36/164.29 U93(mark(x0), x1, x2) 460.36/164.29 U93(x0, mark(x1), x2) 460.36/164.29 U93(x0, x1, mark(x2)) 460.36/164.29 U93(active(x0), x1, x2) 460.36/164.29 U93(x0, active(x1), x2) 460.36/164.29 U93(x0, x1, active(x2)) 460.36/164.29 U94(mark(x0), x1) 460.36/164.29 U94(x0, mark(x1)) 460.36/164.29 U94(active(x0), x1) 460.36/164.29 U94(x0, active(x1)) 460.36/164.29 s(mark(x0)) 460.36/164.29 s(active(x0)) 460.36/164.29 length(mark(x0)) 460.36/164.29 length(active(x0)) 460.36/164.29 460.36/164.29 We have to consider all minimal (P,Q,R)-chains. 460.36/164.29 ---------------------------------------- 460.36/164.29 460.36/164.29 (335) QDPOrderProof (EQUIVALENT) 460.36/164.29 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.29 460.36/164.29 460.36/164.29 The following pairs can be oriented strictly and are deleted. 460.36/164.29 460.36/164.29 ACTIVE(isNatIList(cons(V1, V2))) -> MARK(U41(isNatKind(V1), V1, V2)) 460.36/164.29 The remaining pairs can at least be oriented weakly. 460.36/164.29 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.29 460.36/164.29 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 460.36/164.29 POL( U41_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 460.36/164.29 POL( U42_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.36/164.29 POL( U43_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.36/164.29 POL( U44_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.36/164.29 POL( U45_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.29 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.29 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.29 POL( U85_2(x_1, x_2) ) = 1 460.36/164.29 POL( mark_1(x_1) ) = x_1 460.36/164.29 POL( zeros ) = 2 460.36/164.29 POL( active_1(x_1) ) = 2x_1 + 2 460.36/164.29 POL( cons_2(x_1, x_2) ) = 2x_1 + x_2 + 2 460.36/164.29 POL( 0 ) = 2 460.36/164.29 POL( U11_2(x_1, x_2) ) = max{0, x_2 - 1} 460.36/164.29 POL( tt ) = 0 460.36/164.29 POL( U12_2(x_1, x_2) ) = 2 460.36/164.29 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.29 POL( U13_1(x_1) ) = 2 460.36/164.29 POL( isNatList_1(x_1) ) = 0 460.36/164.29 POL( U21_2(x_1, x_2) ) = 2 460.36/164.29 POL( U22_2(x_1, x_2) ) = 2 460.36/164.29 POL( isNatKind_1(x_1) ) = 0 460.36/164.29 POL( U23_1(x_1) ) = 0 460.36/164.29 POL( isNat_1(x_1) ) = 0 460.36/164.29 POL( U31_2(x_1, x_2) ) = x_1 + 2 460.36/164.29 POL( U32_2(x_1, x_2) ) = 2 460.36/164.29 POL( U33_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.29 POL( U46_1(x_1) ) = x_1 + 1 460.36/164.29 POL( isNatIList_1(x_1) ) = 2x_1 + 1 460.36/164.29 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.29 POL( U86_1(x_1) ) = x_1 + 1 460.36/164.29 POL( U91_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U92_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_3 - 2} 460.36/164.30 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.30 POL( U94_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( s_1(x_1) ) = max{0, -2} 460.36/164.30 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( U71_1(x_1) ) = max{0, -2} 460.36/164.30 POL( nil ) = 0 460.36/164.30 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.30 460.36/164.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.30 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.30 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.30 460.36/164.30 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (336) 460.36/164.30 Obligation: 460.36/164.30 Q DP problem: 460.36/164.30 The TRS P consists of the following rules: 460.36/164.30 460.36/164.30 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.30 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.30 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.30 MARK(U46(X)) -> MARK(X) 460.36/164.30 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.30 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.30 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.30 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.30 MARK(U52(X)) -> MARK(X) 460.36/164.30 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.30 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.30 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.30 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.30 MARK(U86(X)) -> MARK(X) 460.36/164.30 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.30 MARK(isNatIList(X)) -> ACTIVE(isNatIList(X)) 460.36/164.30 460.36/164.30 The TRS R consists of the following rules: 460.36/164.30 460.36/164.30 mark(zeros) -> active(zeros) 460.36/164.30 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.30 active(zeros) -> mark(cons(0, zeros)) 460.36/164.30 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.30 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.30 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.30 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.30 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.30 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.30 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.30 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.30 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.30 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.30 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.30 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.30 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.30 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.30 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.30 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.30 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.30 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.30 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.30 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.30 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.30 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.30 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.30 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.30 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.30 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.30 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.30 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.30 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.30 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.30 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.30 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.30 mark(s(X)) -> active(s(mark(X))) 460.36/164.30 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.30 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.30 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.30 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.30 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.30 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.30 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.30 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.30 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.30 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.30 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.30 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.30 mark(0) -> active(0) 460.36/164.30 mark(tt) -> active(tt) 460.36/164.30 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.30 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.30 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.30 mark(isNat(X)) -> active(isNat(X)) 460.36/164.30 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.30 mark(length(X)) -> active(length(mark(X))) 460.36/164.30 mark(nil) -> active(nil) 460.36/164.30 length(active(X)) -> length(X) 460.36/164.30 length(mark(X)) -> length(X) 460.36/164.30 active(U13(tt)) -> mark(tt) 460.36/164.30 active(U23(tt)) -> mark(tt) 460.36/164.30 active(U33(tt)) -> mark(tt) 460.36/164.30 active(U46(tt)) -> mark(tt) 460.36/164.30 active(U52(tt)) -> mark(tt) 460.36/164.30 active(U61(tt)) -> mark(tt) 460.36/164.30 active(U71(tt)) -> mark(tt) 460.36/164.30 active(U86(tt)) -> mark(tt) 460.36/164.30 active(isNat(0)) -> mark(tt) 460.36/164.30 active(isNatIList(zeros)) -> mark(tt) 460.36/164.30 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.30 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.30 active(isNatKind(0)) -> mark(tt) 460.36/164.30 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.30 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.30 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.30 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.30 U13(active(X)) -> U13(X) 460.36/164.30 U13(mark(X)) -> U13(X) 460.36/164.30 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.30 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.30 U23(active(X)) -> U23(X) 460.36/164.30 U23(mark(X)) -> U23(X) 460.36/164.30 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.30 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.30 U33(active(X)) -> U33(X) 460.36/164.30 U33(mark(X)) -> U33(X) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U46(active(X)) -> U46(X) 460.36/164.30 U46(mark(X)) -> U46(X) 460.36/164.30 U52(active(X)) -> U52(X) 460.36/164.30 U52(mark(X)) -> U52(X) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 U86(active(X)) -> U86(X) 460.36/164.30 U86(mark(X)) -> U86(X) 460.36/164.30 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.30 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.30 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.30 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.30 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.30 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.30 s(active(X)) -> s(X) 460.36/164.30 s(mark(X)) -> s(X) 460.36/164.30 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.30 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.30 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.30 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.30 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.30 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.30 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.30 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U61(active(X)) -> U61(X) 460.36/164.30 U61(mark(X)) -> U61(X) 460.36/164.30 U71(active(X)) -> U71(X) 460.36/164.30 U71(mark(X)) -> U71(X) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.30 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.30 460.36/164.30 The set Q consists of the following terms: 460.36/164.30 460.36/164.30 active(zeros) 460.36/164.30 active(U11(tt, x0)) 460.36/164.30 active(U12(tt, x0)) 460.36/164.30 active(U13(tt)) 460.36/164.30 active(U21(tt, x0)) 460.36/164.30 active(U22(tt, x0)) 460.36/164.30 active(U23(tt)) 460.36/164.30 active(U31(tt, x0)) 460.36/164.30 active(U32(tt, x0)) 460.36/164.30 active(U33(tt)) 460.36/164.30 active(U41(tt, x0, x1)) 460.36/164.30 active(U42(tt, x0, x1)) 460.36/164.30 active(U43(tt, x0, x1)) 460.36/164.30 active(U44(tt, x0, x1)) 460.36/164.30 active(U45(tt, x0)) 460.36/164.30 active(U46(tt)) 460.36/164.30 active(U51(tt, x0)) 460.36/164.30 active(U52(tt)) 460.36/164.30 active(U61(tt)) 460.36/164.30 active(U71(tt)) 460.36/164.30 active(U81(tt, x0, x1)) 460.36/164.30 active(U82(tt, x0, x1)) 460.36/164.30 active(U83(tt, x0, x1)) 460.36/164.30 active(U84(tt, x0, x1)) 460.36/164.30 active(U85(tt, x0)) 460.36/164.30 active(U86(tt)) 460.36/164.30 active(U91(tt, x0, x1)) 460.36/164.30 active(U92(tt, x0, x1)) 460.36/164.30 active(U93(tt, x0, x1)) 460.36/164.30 active(U94(tt, x0)) 460.36/164.30 active(isNat(0)) 460.36/164.30 active(isNat(length(x0))) 460.36/164.30 active(isNat(s(x0))) 460.36/164.30 active(isNatIList(x0)) 460.36/164.30 active(isNatIListKind(nil)) 460.36/164.30 active(isNatIListKind(zeros)) 460.36/164.30 active(isNatIListKind(cons(x0, x1))) 460.36/164.30 active(isNatKind(0)) 460.36/164.30 active(isNatKind(length(x0))) 460.36/164.30 active(isNatKind(s(x0))) 460.36/164.30 active(isNatList(nil)) 460.36/164.30 active(isNatList(cons(x0, x1))) 460.36/164.30 active(length(nil)) 460.36/164.30 active(length(cons(x0, x1))) 460.36/164.30 mark(zeros) 460.36/164.30 mark(cons(x0, x1)) 460.36/164.30 mark(0) 460.36/164.30 mark(U11(x0, x1)) 460.36/164.30 mark(tt) 460.36/164.30 mark(U12(x0, x1)) 460.36/164.30 mark(isNatIListKind(x0)) 460.36/164.30 mark(U13(x0)) 460.36/164.30 mark(isNatList(x0)) 460.36/164.30 mark(U21(x0, x1)) 460.36/164.30 mark(U22(x0, x1)) 460.36/164.30 mark(isNatKind(x0)) 460.36/164.30 mark(U23(x0)) 460.36/164.30 mark(isNat(x0)) 460.36/164.30 mark(U31(x0, x1)) 460.36/164.30 mark(U32(x0, x1)) 460.36/164.30 mark(U33(x0)) 460.36/164.30 mark(U41(x0, x1, x2)) 460.36/164.30 mark(U42(x0, x1, x2)) 460.36/164.30 mark(U43(x0, x1, x2)) 460.36/164.30 mark(U44(x0, x1, x2)) 460.36/164.30 mark(U45(x0, x1)) 460.36/164.30 mark(U46(x0)) 460.36/164.30 mark(isNatIList(x0)) 460.36/164.30 mark(U51(x0, x1)) 460.36/164.30 mark(U52(x0)) 460.36/164.30 mark(U61(x0)) 460.36/164.30 mark(U71(x0)) 460.36/164.30 mark(U81(x0, x1, x2)) 460.36/164.30 mark(U82(x0, x1, x2)) 460.36/164.30 mark(U83(x0, x1, x2)) 460.36/164.30 mark(U84(x0, x1, x2)) 460.36/164.30 mark(U85(x0, x1)) 460.36/164.30 mark(U86(x0)) 460.36/164.30 mark(U91(x0, x1, x2)) 460.36/164.30 mark(U92(x0, x1, x2)) 460.36/164.30 mark(U93(x0, x1, x2)) 460.36/164.30 mark(U94(x0, x1)) 460.36/164.30 mark(s(x0)) 460.36/164.30 mark(length(x0)) 460.36/164.30 mark(nil) 460.36/164.30 cons(mark(x0), x1) 460.36/164.30 cons(x0, mark(x1)) 460.36/164.30 cons(active(x0), x1) 460.36/164.30 cons(x0, active(x1)) 460.36/164.30 U11(mark(x0), x1) 460.36/164.30 U11(x0, mark(x1)) 460.36/164.30 U11(active(x0), x1) 460.36/164.30 U11(x0, active(x1)) 460.36/164.30 U12(mark(x0), x1) 460.36/164.30 U12(x0, mark(x1)) 460.36/164.30 U12(active(x0), x1) 460.36/164.30 U12(x0, active(x1)) 460.36/164.30 isNatIListKind(mark(x0)) 460.36/164.30 isNatIListKind(active(x0)) 460.36/164.30 U13(mark(x0)) 460.36/164.30 U13(active(x0)) 460.36/164.30 isNatList(mark(x0)) 460.36/164.30 isNatList(active(x0)) 460.36/164.30 U21(mark(x0), x1) 460.36/164.30 U21(x0, mark(x1)) 460.36/164.30 U21(active(x0), x1) 460.36/164.30 U21(x0, active(x1)) 460.36/164.30 U22(mark(x0), x1) 460.36/164.30 U22(x0, mark(x1)) 460.36/164.30 U22(active(x0), x1) 460.36/164.30 U22(x0, active(x1)) 460.36/164.30 isNatKind(mark(x0)) 460.36/164.30 isNatKind(active(x0)) 460.36/164.30 U23(mark(x0)) 460.36/164.30 U23(active(x0)) 460.36/164.30 isNat(mark(x0)) 460.36/164.30 isNat(active(x0)) 460.36/164.30 U31(mark(x0), x1) 460.36/164.30 U31(x0, mark(x1)) 460.36/164.30 U31(active(x0), x1) 460.36/164.30 U31(x0, active(x1)) 460.36/164.30 U32(mark(x0), x1) 460.36/164.30 U32(x0, mark(x1)) 460.36/164.30 U32(active(x0), x1) 460.36/164.30 U32(x0, active(x1)) 460.36/164.30 U33(mark(x0)) 460.36/164.30 U33(active(x0)) 460.36/164.30 U41(mark(x0), x1, x2) 460.36/164.30 U41(x0, mark(x1), x2) 460.36/164.30 U41(x0, x1, mark(x2)) 460.36/164.30 U41(active(x0), x1, x2) 460.36/164.30 U41(x0, active(x1), x2) 460.36/164.30 U41(x0, x1, active(x2)) 460.36/164.30 U42(mark(x0), x1, x2) 460.36/164.30 U42(x0, mark(x1), x2) 460.36/164.30 U42(x0, x1, mark(x2)) 460.36/164.30 U42(active(x0), x1, x2) 460.36/164.30 U42(x0, active(x1), x2) 460.36/164.30 U42(x0, x1, active(x2)) 460.36/164.30 U43(mark(x0), x1, x2) 460.36/164.30 U43(x0, mark(x1), x2) 460.36/164.30 U43(x0, x1, mark(x2)) 460.36/164.30 U43(active(x0), x1, x2) 460.36/164.30 U43(x0, active(x1), x2) 460.36/164.30 U43(x0, x1, active(x2)) 460.36/164.30 U44(mark(x0), x1, x2) 460.36/164.30 U44(x0, mark(x1), x2) 460.36/164.30 U44(x0, x1, mark(x2)) 460.36/164.30 U44(active(x0), x1, x2) 460.36/164.30 U44(x0, active(x1), x2) 460.36/164.30 U44(x0, x1, active(x2)) 460.36/164.30 U45(mark(x0), x1) 460.36/164.30 U45(x0, mark(x1)) 460.36/164.30 U45(active(x0), x1) 460.36/164.30 U45(x0, active(x1)) 460.36/164.30 U46(mark(x0)) 460.36/164.30 U46(active(x0)) 460.36/164.30 isNatIList(mark(x0)) 460.36/164.30 isNatIList(active(x0)) 460.36/164.30 U51(mark(x0), x1) 460.36/164.30 U51(x0, mark(x1)) 460.36/164.30 U51(active(x0), x1) 460.36/164.30 U51(x0, active(x1)) 460.36/164.30 U52(mark(x0)) 460.36/164.30 U52(active(x0)) 460.36/164.30 U61(mark(x0)) 460.36/164.30 U61(active(x0)) 460.36/164.30 U71(mark(x0)) 460.36/164.30 U71(active(x0)) 460.36/164.30 U81(mark(x0), x1, x2) 460.36/164.30 U81(x0, mark(x1), x2) 460.36/164.30 U81(x0, x1, mark(x2)) 460.36/164.30 U81(active(x0), x1, x2) 460.36/164.30 U81(x0, active(x1), x2) 460.36/164.30 U81(x0, x1, active(x2)) 460.36/164.30 U82(mark(x0), x1, x2) 460.36/164.30 U82(x0, mark(x1), x2) 460.36/164.30 U82(x0, x1, mark(x2)) 460.36/164.30 U82(active(x0), x1, x2) 460.36/164.30 U82(x0, active(x1), x2) 460.36/164.30 U82(x0, x1, active(x2)) 460.36/164.30 U83(mark(x0), x1, x2) 460.36/164.30 U83(x0, mark(x1), x2) 460.36/164.30 U83(x0, x1, mark(x2)) 460.36/164.30 U83(active(x0), x1, x2) 460.36/164.30 U83(x0, active(x1), x2) 460.36/164.30 U83(x0, x1, active(x2)) 460.36/164.30 U84(mark(x0), x1, x2) 460.36/164.30 U84(x0, mark(x1), x2) 460.36/164.30 U84(x0, x1, mark(x2)) 460.36/164.30 U84(active(x0), x1, x2) 460.36/164.30 U84(x0, active(x1), x2) 460.36/164.30 U84(x0, x1, active(x2)) 460.36/164.30 U85(mark(x0), x1) 460.36/164.30 U85(x0, mark(x1)) 460.36/164.30 U85(active(x0), x1) 460.36/164.30 U85(x0, active(x1)) 460.36/164.30 U86(mark(x0)) 460.36/164.30 U86(active(x0)) 460.36/164.30 U91(mark(x0), x1, x2) 460.36/164.30 U91(x0, mark(x1), x2) 460.36/164.30 U91(x0, x1, mark(x2)) 460.36/164.30 U91(active(x0), x1, x2) 460.36/164.30 U91(x0, active(x1), x2) 460.36/164.30 U91(x0, x1, active(x2)) 460.36/164.30 U92(mark(x0), x1, x2) 460.36/164.30 U92(x0, mark(x1), x2) 460.36/164.30 U92(x0, x1, mark(x2)) 460.36/164.30 U92(active(x0), x1, x2) 460.36/164.30 U92(x0, active(x1), x2) 460.36/164.30 U92(x0, x1, active(x2)) 460.36/164.30 U93(mark(x0), x1, x2) 460.36/164.30 U93(x0, mark(x1), x2) 460.36/164.30 U93(x0, x1, mark(x2)) 460.36/164.30 U93(active(x0), x1, x2) 460.36/164.30 U93(x0, active(x1), x2) 460.36/164.30 U93(x0, x1, active(x2)) 460.36/164.30 U94(mark(x0), x1) 460.36/164.30 U94(x0, mark(x1)) 460.36/164.30 U94(active(x0), x1) 460.36/164.30 U94(x0, active(x1)) 460.36/164.30 s(mark(x0)) 460.36/164.30 s(active(x0)) 460.36/164.30 length(mark(x0)) 460.36/164.30 length(active(x0)) 460.36/164.30 460.36/164.30 We have to consider all minimal (P,Q,R)-chains. 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (337) DependencyGraphProof (EQUIVALENT) 460.36/164.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (338) 460.36/164.30 Obligation: 460.36/164.30 Q DP problem: 460.36/164.30 The TRS P consists of the following rules: 460.36/164.30 460.36/164.30 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.30 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.30 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.30 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.30 MARK(U46(X)) -> MARK(X) 460.36/164.30 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.30 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.30 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.30 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.30 MARK(U52(X)) -> MARK(X) 460.36/164.30 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.30 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.30 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.30 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.30 MARK(U86(X)) -> MARK(X) 460.36/164.30 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.30 460.36/164.30 The TRS R consists of the following rules: 460.36/164.30 460.36/164.30 mark(zeros) -> active(zeros) 460.36/164.30 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.30 active(zeros) -> mark(cons(0, zeros)) 460.36/164.30 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.30 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.30 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.30 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.30 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.30 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.30 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.30 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.30 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.30 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.30 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.30 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.30 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.30 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.30 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.30 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.30 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.30 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.30 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.30 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.30 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.30 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.30 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.30 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.30 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.30 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.30 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.30 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.30 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.30 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.30 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.30 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.30 mark(s(X)) -> active(s(mark(X))) 460.36/164.30 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.30 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.30 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.30 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.30 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.30 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.30 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.30 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.30 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.30 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.30 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.30 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.30 mark(0) -> active(0) 460.36/164.30 mark(tt) -> active(tt) 460.36/164.30 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.30 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.30 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.30 mark(isNat(X)) -> active(isNat(X)) 460.36/164.30 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.30 mark(length(X)) -> active(length(mark(X))) 460.36/164.30 mark(nil) -> active(nil) 460.36/164.30 length(active(X)) -> length(X) 460.36/164.30 length(mark(X)) -> length(X) 460.36/164.30 active(U13(tt)) -> mark(tt) 460.36/164.30 active(U23(tt)) -> mark(tt) 460.36/164.30 active(U33(tt)) -> mark(tt) 460.36/164.30 active(U46(tt)) -> mark(tt) 460.36/164.30 active(U52(tt)) -> mark(tt) 460.36/164.30 active(U61(tt)) -> mark(tt) 460.36/164.30 active(U71(tt)) -> mark(tt) 460.36/164.30 active(U86(tt)) -> mark(tt) 460.36/164.30 active(isNat(0)) -> mark(tt) 460.36/164.30 active(isNatIList(zeros)) -> mark(tt) 460.36/164.30 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.30 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.30 active(isNatKind(0)) -> mark(tt) 460.36/164.30 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.30 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.30 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.30 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.30 U13(active(X)) -> U13(X) 460.36/164.30 U13(mark(X)) -> U13(X) 460.36/164.30 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.30 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.30 U23(active(X)) -> U23(X) 460.36/164.30 U23(mark(X)) -> U23(X) 460.36/164.30 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.30 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.30 U33(active(X)) -> U33(X) 460.36/164.30 U33(mark(X)) -> U33(X) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U46(active(X)) -> U46(X) 460.36/164.30 U46(mark(X)) -> U46(X) 460.36/164.30 U52(active(X)) -> U52(X) 460.36/164.30 U52(mark(X)) -> U52(X) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 U86(active(X)) -> U86(X) 460.36/164.30 U86(mark(X)) -> U86(X) 460.36/164.30 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.30 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.30 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.30 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.30 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.30 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.30 s(active(X)) -> s(X) 460.36/164.30 s(mark(X)) -> s(X) 460.36/164.30 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.30 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.30 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.30 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.30 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.30 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.30 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.30 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U61(active(X)) -> U61(X) 460.36/164.30 U61(mark(X)) -> U61(X) 460.36/164.30 U71(active(X)) -> U71(X) 460.36/164.30 U71(mark(X)) -> U71(X) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.30 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.30 460.36/164.30 The set Q consists of the following terms: 460.36/164.30 460.36/164.30 active(zeros) 460.36/164.30 active(U11(tt, x0)) 460.36/164.30 active(U12(tt, x0)) 460.36/164.30 active(U13(tt)) 460.36/164.30 active(U21(tt, x0)) 460.36/164.30 active(U22(tt, x0)) 460.36/164.30 active(U23(tt)) 460.36/164.30 active(U31(tt, x0)) 460.36/164.30 active(U32(tt, x0)) 460.36/164.30 active(U33(tt)) 460.36/164.30 active(U41(tt, x0, x1)) 460.36/164.30 active(U42(tt, x0, x1)) 460.36/164.30 active(U43(tt, x0, x1)) 460.36/164.30 active(U44(tt, x0, x1)) 460.36/164.30 active(U45(tt, x0)) 460.36/164.30 active(U46(tt)) 460.36/164.30 active(U51(tt, x0)) 460.36/164.30 active(U52(tt)) 460.36/164.30 active(U61(tt)) 460.36/164.30 active(U71(tt)) 460.36/164.30 active(U81(tt, x0, x1)) 460.36/164.30 active(U82(tt, x0, x1)) 460.36/164.30 active(U83(tt, x0, x1)) 460.36/164.30 active(U84(tt, x0, x1)) 460.36/164.30 active(U85(tt, x0)) 460.36/164.30 active(U86(tt)) 460.36/164.30 active(U91(tt, x0, x1)) 460.36/164.30 active(U92(tt, x0, x1)) 460.36/164.30 active(U93(tt, x0, x1)) 460.36/164.30 active(U94(tt, x0)) 460.36/164.30 active(isNat(0)) 460.36/164.30 active(isNat(length(x0))) 460.36/164.30 active(isNat(s(x0))) 460.36/164.30 active(isNatIList(x0)) 460.36/164.30 active(isNatIListKind(nil)) 460.36/164.30 active(isNatIListKind(zeros)) 460.36/164.30 active(isNatIListKind(cons(x0, x1))) 460.36/164.30 active(isNatKind(0)) 460.36/164.30 active(isNatKind(length(x0))) 460.36/164.30 active(isNatKind(s(x0))) 460.36/164.30 active(isNatList(nil)) 460.36/164.30 active(isNatList(cons(x0, x1))) 460.36/164.30 active(length(nil)) 460.36/164.30 active(length(cons(x0, x1))) 460.36/164.30 mark(zeros) 460.36/164.30 mark(cons(x0, x1)) 460.36/164.30 mark(0) 460.36/164.30 mark(U11(x0, x1)) 460.36/164.30 mark(tt) 460.36/164.30 mark(U12(x0, x1)) 460.36/164.30 mark(isNatIListKind(x0)) 460.36/164.30 mark(U13(x0)) 460.36/164.30 mark(isNatList(x0)) 460.36/164.30 mark(U21(x0, x1)) 460.36/164.30 mark(U22(x0, x1)) 460.36/164.30 mark(isNatKind(x0)) 460.36/164.30 mark(U23(x0)) 460.36/164.30 mark(isNat(x0)) 460.36/164.30 mark(U31(x0, x1)) 460.36/164.30 mark(U32(x0, x1)) 460.36/164.30 mark(U33(x0)) 460.36/164.30 mark(U41(x0, x1, x2)) 460.36/164.30 mark(U42(x0, x1, x2)) 460.36/164.30 mark(U43(x0, x1, x2)) 460.36/164.30 mark(U44(x0, x1, x2)) 460.36/164.30 mark(U45(x0, x1)) 460.36/164.30 mark(U46(x0)) 460.36/164.30 mark(isNatIList(x0)) 460.36/164.30 mark(U51(x0, x1)) 460.36/164.30 mark(U52(x0)) 460.36/164.30 mark(U61(x0)) 460.36/164.30 mark(U71(x0)) 460.36/164.30 mark(U81(x0, x1, x2)) 460.36/164.30 mark(U82(x0, x1, x2)) 460.36/164.30 mark(U83(x0, x1, x2)) 460.36/164.30 mark(U84(x0, x1, x2)) 460.36/164.30 mark(U85(x0, x1)) 460.36/164.30 mark(U86(x0)) 460.36/164.30 mark(U91(x0, x1, x2)) 460.36/164.30 mark(U92(x0, x1, x2)) 460.36/164.30 mark(U93(x0, x1, x2)) 460.36/164.30 mark(U94(x0, x1)) 460.36/164.30 mark(s(x0)) 460.36/164.30 mark(length(x0)) 460.36/164.30 mark(nil) 460.36/164.30 cons(mark(x0), x1) 460.36/164.30 cons(x0, mark(x1)) 460.36/164.30 cons(active(x0), x1) 460.36/164.30 cons(x0, active(x1)) 460.36/164.30 U11(mark(x0), x1) 460.36/164.30 U11(x0, mark(x1)) 460.36/164.30 U11(active(x0), x1) 460.36/164.30 U11(x0, active(x1)) 460.36/164.30 U12(mark(x0), x1) 460.36/164.30 U12(x0, mark(x1)) 460.36/164.30 U12(active(x0), x1) 460.36/164.30 U12(x0, active(x1)) 460.36/164.30 isNatIListKind(mark(x0)) 460.36/164.30 isNatIListKind(active(x0)) 460.36/164.30 U13(mark(x0)) 460.36/164.30 U13(active(x0)) 460.36/164.30 isNatList(mark(x0)) 460.36/164.30 isNatList(active(x0)) 460.36/164.30 U21(mark(x0), x1) 460.36/164.30 U21(x0, mark(x1)) 460.36/164.30 U21(active(x0), x1) 460.36/164.30 U21(x0, active(x1)) 460.36/164.30 U22(mark(x0), x1) 460.36/164.30 U22(x0, mark(x1)) 460.36/164.30 U22(active(x0), x1) 460.36/164.30 U22(x0, active(x1)) 460.36/164.30 isNatKind(mark(x0)) 460.36/164.30 isNatKind(active(x0)) 460.36/164.30 U23(mark(x0)) 460.36/164.30 U23(active(x0)) 460.36/164.30 isNat(mark(x0)) 460.36/164.30 isNat(active(x0)) 460.36/164.30 U31(mark(x0), x1) 460.36/164.30 U31(x0, mark(x1)) 460.36/164.30 U31(active(x0), x1) 460.36/164.30 U31(x0, active(x1)) 460.36/164.30 U32(mark(x0), x1) 460.36/164.30 U32(x0, mark(x1)) 460.36/164.30 U32(active(x0), x1) 460.36/164.30 U32(x0, active(x1)) 460.36/164.30 U33(mark(x0)) 460.36/164.30 U33(active(x0)) 460.36/164.30 U41(mark(x0), x1, x2) 460.36/164.30 U41(x0, mark(x1), x2) 460.36/164.30 U41(x0, x1, mark(x2)) 460.36/164.30 U41(active(x0), x1, x2) 460.36/164.30 U41(x0, active(x1), x2) 460.36/164.30 U41(x0, x1, active(x2)) 460.36/164.30 U42(mark(x0), x1, x2) 460.36/164.30 U42(x0, mark(x1), x2) 460.36/164.30 U42(x0, x1, mark(x2)) 460.36/164.30 U42(active(x0), x1, x2) 460.36/164.30 U42(x0, active(x1), x2) 460.36/164.30 U42(x0, x1, active(x2)) 460.36/164.30 U43(mark(x0), x1, x2) 460.36/164.30 U43(x0, mark(x1), x2) 460.36/164.30 U43(x0, x1, mark(x2)) 460.36/164.30 U43(active(x0), x1, x2) 460.36/164.30 U43(x0, active(x1), x2) 460.36/164.30 U43(x0, x1, active(x2)) 460.36/164.30 U44(mark(x0), x1, x2) 460.36/164.30 U44(x0, mark(x1), x2) 460.36/164.30 U44(x0, x1, mark(x2)) 460.36/164.30 U44(active(x0), x1, x2) 460.36/164.30 U44(x0, active(x1), x2) 460.36/164.30 U44(x0, x1, active(x2)) 460.36/164.30 U45(mark(x0), x1) 460.36/164.30 U45(x0, mark(x1)) 460.36/164.30 U45(active(x0), x1) 460.36/164.30 U45(x0, active(x1)) 460.36/164.30 U46(mark(x0)) 460.36/164.30 U46(active(x0)) 460.36/164.30 isNatIList(mark(x0)) 460.36/164.30 isNatIList(active(x0)) 460.36/164.30 U51(mark(x0), x1) 460.36/164.30 U51(x0, mark(x1)) 460.36/164.30 U51(active(x0), x1) 460.36/164.30 U51(x0, active(x1)) 460.36/164.30 U52(mark(x0)) 460.36/164.30 U52(active(x0)) 460.36/164.30 U61(mark(x0)) 460.36/164.30 U61(active(x0)) 460.36/164.30 U71(mark(x0)) 460.36/164.30 U71(active(x0)) 460.36/164.30 U81(mark(x0), x1, x2) 460.36/164.30 U81(x0, mark(x1), x2) 460.36/164.30 U81(x0, x1, mark(x2)) 460.36/164.30 U81(active(x0), x1, x2) 460.36/164.30 U81(x0, active(x1), x2) 460.36/164.30 U81(x0, x1, active(x2)) 460.36/164.30 U82(mark(x0), x1, x2) 460.36/164.30 U82(x0, mark(x1), x2) 460.36/164.30 U82(x0, x1, mark(x2)) 460.36/164.30 U82(active(x0), x1, x2) 460.36/164.30 U82(x0, active(x1), x2) 460.36/164.30 U82(x0, x1, active(x2)) 460.36/164.30 U83(mark(x0), x1, x2) 460.36/164.30 U83(x0, mark(x1), x2) 460.36/164.30 U83(x0, x1, mark(x2)) 460.36/164.30 U83(active(x0), x1, x2) 460.36/164.30 U83(x0, active(x1), x2) 460.36/164.30 U83(x0, x1, active(x2)) 460.36/164.30 U84(mark(x0), x1, x2) 460.36/164.30 U84(x0, mark(x1), x2) 460.36/164.30 U84(x0, x1, mark(x2)) 460.36/164.30 U84(active(x0), x1, x2) 460.36/164.30 U84(x0, active(x1), x2) 460.36/164.30 U84(x0, x1, active(x2)) 460.36/164.30 U85(mark(x0), x1) 460.36/164.30 U85(x0, mark(x1)) 460.36/164.30 U85(active(x0), x1) 460.36/164.30 U85(x0, active(x1)) 460.36/164.30 U86(mark(x0)) 460.36/164.30 U86(active(x0)) 460.36/164.30 U91(mark(x0), x1, x2) 460.36/164.30 U91(x0, mark(x1), x2) 460.36/164.30 U91(x0, x1, mark(x2)) 460.36/164.30 U91(active(x0), x1, x2) 460.36/164.30 U91(x0, active(x1), x2) 460.36/164.30 U91(x0, x1, active(x2)) 460.36/164.30 U92(mark(x0), x1, x2) 460.36/164.30 U92(x0, mark(x1), x2) 460.36/164.30 U92(x0, x1, mark(x2)) 460.36/164.30 U92(active(x0), x1, x2) 460.36/164.30 U92(x0, active(x1), x2) 460.36/164.30 U92(x0, x1, active(x2)) 460.36/164.30 U93(mark(x0), x1, x2) 460.36/164.30 U93(x0, mark(x1), x2) 460.36/164.30 U93(x0, x1, mark(x2)) 460.36/164.30 U93(active(x0), x1, x2) 460.36/164.30 U93(x0, active(x1), x2) 460.36/164.30 U93(x0, x1, active(x2)) 460.36/164.30 U94(mark(x0), x1) 460.36/164.30 U94(x0, mark(x1)) 460.36/164.30 U94(active(x0), x1) 460.36/164.30 U94(x0, active(x1)) 460.36/164.30 s(mark(x0)) 460.36/164.30 s(active(x0)) 460.36/164.30 length(mark(x0)) 460.36/164.30 length(active(x0)) 460.36/164.30 460.36/164.30 We have to consider all minimal (P,Q,R)-chains. 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (339) QDPOrderProof (EQUIVALENT) 460.36/164.30 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.30 460.36/164.30 460.36/164.30 The following pairs can be oriented strictly and are deleted. 460.36/164.30 460.36/164.30 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 460.36/164.30 The remaining pairs can at least be oriented weakly. 460.36/164.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.30 460.36/164.30 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.30 POL( U41_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.36/164.30 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U44_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.30 POL( U45_2(x_1, x_2) ) = 1 460.36/164.30 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.30 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U83_3(x_1, ..., x_3) ) = 1 460.36/164.30 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.30 POL( mark_1(x_1) ) = 2 460.36/164.30 POL( zeros ) = 2 460.36/164.30 POL( active_1(x_1) ) = 2x_1 + 2 460.36/164.30 POL( cons_2(x_1, x_2) ) = x_2 460.36/164.30 POL( 0 ) = 0 460.36/164.30 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.30 POL( tt ) = 1 460.36/164.30 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.30 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.30 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.30 POL( isNatList_1(x_1) ) = 0 460.36/164.30 POL( U21_2(x_1, x_2) ) = x_1 + 2 460.36/164.30 POL( U22_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.30 POL( isNatKind_1(x_1) ) = 0 460.36/164.30 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( isNat_1(x_1) ) = 2 460.36/164.30 POL( U31_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.30 POL( U32_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.30 POL( U33_1(x_1) ) = 2 460.36/164.30 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.30 POL( isNatIList_1(x_1) ) = 0 460.36/164.30 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.30 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.30 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.30 POL( U92_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 460.36/164.30 POL( U93_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.30 POL( U94_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( s_1(x_1) ) = max{0, x_1 - 2} 460.36/164.30 POL( length_1(x_1) ) = max{0, 2x_1 - 1} 460.36/164.30 POL( U61_1(x_1) ) = max{0, x_1 - 2} 460.36/164.30 POL( U71_1(x_1) ) = max{0, -2} 460.36/164.30 POL( nil ) = 0 460.36/164.30 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.30 460.36/164.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.30 none 460.36/164.30 460.36/164.30 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (340) 460.36/164.30 Obligation: 460.36/164.30 Q DP problem: 460.36/164.30 The TRS P consists of the following rules: 460.36/164.30 460.36/164.30 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.30 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.30 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.30 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.30 MARK(U46(X)) -> MARK(X) 460.36/164.30 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.30 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.30 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.30 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.30 MARK(U52(X)) -> MARK(X) 460.36/164.30 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.30 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.30 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.30 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.30 MARK(U86(X)) -> MARK(X) 460.36/164.30 460.36/164.30 The TRS R consists of the following rules: 460.36/164.30 460.36/164.30 mark(zeros) -> active(zeros) 460.36/164.30 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.30 active(zeros) -> mark(cons(0, zeros)) 460.36/164.30 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.30 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.30 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.30 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.30 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.30 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.30 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.30 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.30 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.30 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.30 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.30 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.30 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.30 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.30 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.30 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.30 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.30 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.30 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.30 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.30 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.30 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.30 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.30 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.30 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.30 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.30 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.30 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.30 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.30 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.30 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.30 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.30 mark(s(X)) -> active(s(mark(X))) 460.36/164.30 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.30 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.30 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.30 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.30 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.30 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.30 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.30 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.30 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.30 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.30 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.30 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.30 mark(0) -> active(0) 460.36/164.30 mark(tt) -> active(tt) 460.36/164.30 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.30 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.30 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.30 mark(isNat(X)) -> active(isNat(X)) 460.36/164.30 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.30 mark(length(X)) -> active(length(mark(X))) 460.36/164.30 mark(nil) -> active(nil) 460.36/164.30 length(active(X)) -> length(X) 460.36/164.30 length(mark(X)) -> length(X) 460.36/164.30 active(U13(tt)) -> mark(tt) 460.36/164.30 active(U23(tt)) -> mark(tt) 460.36/164.30 active(U33(tt)) -> mark(tt) 460.36/164.30 active(U46(tt)) -> mark(tt) 460.36/164.30 active(U52(tt)) -> mark(tt) 460.36/164.30 active(U61(tt)) -> mark(tt) 460.36/164.30 active(U71(tt)) -> mark(tt) 460.36/164.30 active(U86(tt)) -> mark(tt) 460.36/164.30 active(isNat(0)) -> mark(tt) 460.36/164.30 active(isNatIList(zeros)) -> mark(tt) 460.36/164.30 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.30 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.30 active(isNatKind(0)) -> mark(tt) 460.36/164.30 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.30 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.30 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.30 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.30 U13(active(X)) -> U13(X) 460.36/164.30 U13(mark(X)) -> U13(X) 460.36/164.30 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.30 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.30 U23(active(X)) -> U23(X) 460.36/164.30 U23(mark(X)) -> U23(X) 460.36/164.30 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.30 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.30 U33(active(X)) -> U33(X) 460.36/164.30 U33(mark(X)) -> U33(X) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U46(active(X)) -> U46(X) 460.36/164.30 U46(mark(X)) -> U46(X) 460.36/164.30 U52(active(X)) -> U52(X) 460.36/164.30 U52(mark(X)) -> U52(X) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 U86(active(X)) -> U86(X) 460.36/164.30 U86(mark(X)) -> U86(X) 460.36/164.30 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.30 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.30 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.30 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.30 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.30 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.30 s(active(X)) -> s(X) 460.36/164.30 s(mark(X)) -> s(X) 460.36/164.30 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.30 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.30 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.30 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.30 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.30 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.30 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.30 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U61(active(X)) -> U61(X) 460.36/164.30 U61(mark(X)) -> U61(X) 460.36/164.30 U71(active(X)) -> U71(X) 460.36/164.30 U71(mark(X)) -> U71(X) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.30 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.30 460.36/164.30 The set Q consists of the following terms: 460.36/164.30 460.36/164.30 active(zeros) 460.36/164.30 active(U11(tt, x0)) 460.36/164.30 active(U12(tt, x0)) 460.36/164.30 active(U13(tt)) 460.36/164.30 active(U21(tt, x0)) 460.36/164.30 active(U22(tt, x0)) 460.36/164.30 active(U23(tt)) 460.36/164.30 active(U31(tt, x0)) 460.36/164.30 active(U32(tt, x0)) 460.36/164.30 active(U33(tt)) 460.36/164.30 active(U41(tt, x0, x1)) 460.36/164.30 active(U42(tt, x0, x1)) 460.36/164.30 active(U43(tt, x0, x1)) 460.36/164.30 active(U44(tt, x0, x1)) 460.36/164.30 active(U45(tt, x0)) 460.36/164.30 active(U46(tt)) 460.36/164.30 active(U51(tt, x0)) 460.36/164.30 active(U52(tt)) 460.36/164.30 active(U61(tt)) 460.36/164.30 active(U71(tt)) 460.36/164.30 active(U81(tt, x0, x1)) 460.36/164.30 active(U82(tt, x0, x1)) 460.36/164.30 active(U83(tt, x0, x1)) 460.36/164.30 active(U84(tt, x0, x1)) 460.36/164.30 active(U85(tt, x0)) 460.36/164.30 active(U86(tt)) 460.36/164.30 active(U91(tt, x0, x1)) 460.36/164.30 active(U92(tt, x0, x1)) 460.36/164.30 active(U93(tt, x0, x1)) 460.36/164.30 active(U94(tt, x0)) 460.36/164.30 active(isNat(0)) 460.36/164.30 active(isNat(length(x0))) 460.36/164.30 active(isNat(s(x0))) 460.36/164.30 active(isNatIList(x0)) 460.36/164.30 active(isNatIListKind(nil)) 460.36/164.30 active(isNatIListKind(zeros)) 460.36/164.30 active(isNatIListKind(cons(x0, x1))) 460.36/164.30 active(isNatKind(0)) 460.36/164.30 active(isNatKind(length(x0))) 460.36/164.30 active(isNatKind(s(x0))) 460.36/164.30 active(isNatList(nil)) 460.36/164.30 active(isNatList(cons(x0, x1))) 460.36/164.30 active(length(nil)) 460.36/164.30 active(length(cons(x0, x1))) 460.36/164.30 mark(zeros) 460.36/164.30 mark(cons(x0, x1)) 460.36/164.30 mark(0) 460.36/164.30 mark(U11(x0, x1)) 460.36/164.30 mark(tt) 460.36/164.30 mark(U12(x0, x1)) 460.36/164.30 mark(isNatIListKind(x0)) 460.36/164.30 mark(U13(x0)) 460.36/164.30 mark(isNatList(x0)) 460.36/164.30 mark(U21(x0, x1)) 460.36/164.30 mark(U22(x0, x1)) 460.36/164.30 mark(isNatKind(x0)) 460.36/164.30 mark(U23(x0)) 460.36/164.30 mark(isNat(x0)) 460.36/164.30 mark(U31(x0, x1)) 460.36/164.30 mark(U32(x0, x1)) 460.36/164.30 mark(U33(x0)) 460.36/164.30 mark(U41(x0, x1, x2)) 460.36/164.30 mark(U42(x0, x1, x2)) 460.36/164.30 mark(U43(x0, x1, x2)) 460.36/164.30 mark(U44(x0, x1, x2)) 460.36/164.30 mark(U45(x0, x1)) 460.36/164.30 mark(U46(x0)) 460.36/164.30 mark(isNatIList(x0)) 460.36/164.30 mark(U51(x0, x1)) 460.36/164.30 mark(U52(x0)) 460.36/164.30 mark(U61(x0)) 460.36/164.30 mark(U71(x0)) 460.36/164.30 mark(U81(x0, x1, x2)) 460.36/164.30 mark(U82(x0, x1, x2)) 460.36/164.30 mark(U83(x0, x1, x2)) 460.36/164.30 mark(U84(x0, x1, x2)) 460.36/164.30 mark(U85(x0, x1)) 460.36/164.30 mark(U86(x0)) 460.36/164.30 mark(U91(x0, x1, x2)) 460.36/164.30 mark(U92(x0, x1, x2)) 460.36/164.30 mark(U93(x0, x1, x2)) 460.36/164.30 mark(U94(x0, x1)) 460.36/164.30 mark(s(x0)) 460.36/164.30 mark(length(x0)) 460.36/164.30 mark(nil) 460.36/164.30 cons(mark(x0), x1) 460.36/164.30 cons(x0, mark(x1)) 460.36/164.30 cons(active(x0), x1) 460.36/164.30 cons(x0, active(x1)) 460.36/164.30 U11(mark(x0), x1) 460.36/164.30 U11(x0, mark(x1)) 460.36/164.30 U11(active(x0), x1) 460.36/164.30 U11(x0, active(x1)) 460.36/164.30 U12(mark(x0), x1) 460.36/164.30 U12(x0, mark(x1)) 460.36/164.30 U12(active(x0), x1) 460.36/164.30 U12(x0, active(x1)) 460.36/164.30 isNatIListKind(mark(x0)) 460.36/164.30 isNatIListKind(active(x0)) 460.36/164.30 U13(mark(x0)) 460.36/164.30 U13(active(x0)) 460.36/164.30 isNatList(mark(x0)) 460.36/164.30 isNatList(active(x0)) 460.36/164.30 U21(mark(x0), x1) 460.36/164.30 U21(x0, mark(x1)) 460.36/164.30 U21(active(x0), x1) 460.36/164.30 U21(x0, active(x1)) 460.36/164.30 U22(mark(x0), x1) 460.36/164.30 U22(x0, mark(x1)) 460.36/164.30 U22(active(x0), x1) 460.36/164.30 U22(x0, active(x1)) 460.36/164.30 isNatKind(mark(x0)) 460.36/164.30 isNatKind(active(x0)) 460.36/164.30 U23(mark(x0)) 460.36/164.30 U23(active(x0)) 460.36/164.30 isNat(mark(x0)) 460.36/164.30 isNat(active(x0)) 460.36/164.30 U31(mark(x0), x1) 460.36/164.30 U31(x0, mark(x1)) 460.36/164.30 U31(active(x0), x1) 460.36/164.30 U31(x0, active(x1)) 460.36/164.30 U32(mark(x0), x1) 460.36/164.30 U32(x0, mark(x1)) 460.36/164.30 U32(active(x0), x1) 460.36/164.30 U32(x0, active(x1)) 460.36/164.30 U33(mark(x0)) 460.36/164.30 U33(active(x0)) 460.36/164.30 U41(mark(x0), x1, x2) 460.36/164.30 U41(x0, mark(x1), x2) 460.36/164.30 U41(x0, x1, mark(x2)) 460.36/164.30 U41(active(x0), x1, x2) 460.36/164.30 U41(x0, active(x1), x2) 460.36/164.30 U41(x0, x1, active(x2)) 460.36/164.30 U42(mark(x0), x1, x2) 460.36/164.30 U42(x0, mark(x1), x2) 460.36/164.30 U42(x0, x1, mark(x2)) 460.36/164.30 U42(active(x0), x1, x2) 460.36/164.30 U42(x0, active(x1), x2) 460.36/164.30 U42(x0, x1, active(x2)) 460.36/164.30 U43(mark(x0), x1, x2) 460.36/164.30 U43(x0, mark(x1), x2) 460.36/164.30 U43(x0, x1, mark(x2)) 460.36/164.30 U43(active(x0), x1, x2) 460.36/164.30 U43(x0, active(x1), x2) 460.36/164.30 U43(x0, x1, active(x2)) 460.36/164.30 U44(mark(x0), x1, x2) 460.36/164.30 U44(x0, mark(x1), x2) 460.36/164.30 U44(x0, x1, mark(x2)) 460.36/164.30 U44(active(x0), x1, x2) 460.36/164.30 U44(x0, active(x1), x2) 460.36/164.30 U44(x0, x1, active(x2)) 460.36/164.30 U45(mark(x0), x1) 460.36/164.30 U45(x0, mark(x1)) 460.36/164.30 U45(active(x0), x1) 460.36/164.30 U45(x0, active(x1)) 460.36/164.30 U46(mark(x0)) 460.36/164.30 U46(active(x0)) 460.36/164.30 isNatIList(mark(x0)) 460.36/164.30 isNatIList(active(x0)) 460.36/164.30 U51(mark(x0), x1) 460.36/164.30 U51(x0, mark(x1)) 460.36/164.30 U51(active(x0), x1) 460.36/164.30 U51(x0, active(x1)) 460.36/164.30 U52(mark(x0)) 460.36/164.30 U52(active(x0)) 460.36/164.30 U61(mark(x0)) 460.36/164.30 U61(active(x0)) 460.36/164.30 U71(mark(x0)) 460.36/164.30 U71(active(x0)) 460.36/164.30 U81(mark(x0), x1, x2) 460.36/164.30 U81(x0, mark(x1), x2) 460.36/164.30 U81(x0, x1, mark(x2)) 460.36/164.30 U81(active(x0), x1, x2) 460.36/164.30 U81(x0, active(x1), x2) 460.36/164.30 U81(x0, x1, active(x2)) 460.36/164.30 U82(mark(x0), x1, x2) 460.36/164.30 U82(x0, mark(x1), x2) 460.36/164.30 U82(x0, x1, mark(x2)) 460.36/164.30 U82(active(x0), x1, x2) 460.36/164.30 U82(x0, active(x1), x2) 460.36/164.30 U82(x0, x1, active(x2)) 460.36/164.30 U83(mark(x0), x1, x2) 460.36/164.30 U83(x0, mark(x1), x2) 460.36/164.30 U83(x0, x1, mark(x2)) 460.36/164.30 U83(active(x0), x1, x2) 460.36/164.30 U83(x0, active(x1), x2) 460.36/164.30 U83(x0, x1, active(x2)) 460.36/164.30 U84(mark(x0), x1, x2) 460.36/164.30 U84(x0, mark(x1), x2) 460.36/164.30 U84(x0, x1, mark(x2)) 460.36/164.30 U84(active(x0), x1, x2) 460.36/164.30 U84(x0, active(x1), x2) 460.36/164.30 U84(x0, x1, active(x2)) 460.36/164.30 U85(mark(x0), x1) 460.36/164.30 U85(x0, mark(x1)) 460.36/164.30 U85(active(x0), x1) 460.36/164.30 U85(x0, active(x1)) 460.36/164.30 U86(mark(x0)) 460.36/164.30 U86(active(x0)) 460.36/164.30 U91(mark(x0), x1, x2) 460.36/164.30 U91(x0, mark(x1), x2) 460.36/164.30 U91(x0, x1, mark(x2)) 460.36/164.30 U91(active(x0), x1, x2) 460.36/164.30 U91(x0, active(x1), x2) 460.36/164.30 U91(x0, x1, active(x2)) 460.36/164.30 U92(mark(x0), x1, x2) 460.36/164.30 U92(x0, mark(x1), x2) 460.36/164.30 U92(x0, x1, mark(x2)) 460.36/164.30 U92(active(x0), x1, x2) 460.36/164.30 U92(x0, active(x1), x2) 460.36/164.30 U92(x0, x1, active(x2)) 460.36/164.30 U93(mark(x0), x1, x2) 460.36/164.30 U93(x0, mark(x1), x2) 460.36/164.30 U93(x0, x1, mark(x2)) 460.36/164.30 U93(active(x0), x1, x2) 460.36/164.30 U93(x0, active(x1), x2) 460.36/164.30 U93(x0, x1, active(x2)) 460.36/164.30 U94(mark(x0), x1) 460.36/164.30 U94(x0, mark(x1)) 460.36/164.30 U94(active(x0), x1) 460.36/164.30 U94(x0, active(x1)) 460.36/164.30 s(mark(x0)) 460.36/164.30 s(active(x0)) 460.36/164.30 length(mark(x0)) 460.36/164.30 length(active(x0)) 460.36/164.30 460.36/164.30 We have to consider all minimal (P,Q,R)-chains. 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (341) QDPOrderProof (EQUIVALENT) 460.36/164.30 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.30 460.36/164.30 460.36/164.30 The following pairs can be oriented strictly and are deleted. 460.36/164.30 460.36/164.30 ACTIVE(U41(tt, V1, V2)) -> MARK(U42(isNatKind(V1), V1, V2)) 460.36/164.30 The remaining pairs can at least be oriented weakly. 460.36/164.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.30 460.36/164.30 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.30 POL( U42_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.30 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.30 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.30 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.30 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.30 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.30 POL( U85_2(x_1, x_2) ) = 2 460.36/164.30 POL( mark_1(x_1) ) = 0 460.36/164.30 POL( zeros ) = 0 460.36/164.30 POL( active_1(x_1) ) = max{0, x_1 - 2} 460.36/164.30 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.30 POL( 0 ) = 0 460.36/164.30 POL( U11_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} 460.36/164.30 POL( tt ) = 1 460.36/164.30 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} 460.36/164.30 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.30 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.30 POL( isNatList_1(x_1) ) = 2 460.36/164.30 POL( U21_2(x_1, x_2) ) = 2 460.36/164.30 POL( U22_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.30 POL( isNatKind_1(x_1) ) = 0 460.36/164.30 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( isNat_1(x_1) ) = 0 460.36/164.30 POL( U31_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.30 POL( U32_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.30 POL( U41_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.30 POL( U46_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( isNatIList_1(x_1) ) = 0 460.36/164.30 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.30 POL( U91_3(x_1, ..., x_3) ) = max{0, x_2 + 2x_3 - 2} 460.36/164.30 POL( U92_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} 460.36/164.30 POL( U93_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.30 POL( U94_2(x_1, x_2) ) = 2 460.36/164.30 POL( s_1(x_1) ) = max{0, x_1 - 2} 460.36/164.30 POL( length_1(x_1) ) = max{0, -2} 460.36/164.30 POL( U61_1(x_1) ) = 2 460.36/164.30 POL( U71_1(x_1) ) = 0 460.36/164.30 POL( nil ) = 0 460.36/164.30 POL( MARK_1(x_1) ) = max{0, -2} 460.36/164.30 460.36/164.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.30 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 460.36/164.30 460.36/164.30 ---------------------------------------- 460.36/164.30 460.36/164.30 (342) 460.36/164.30 Obligation: 460.36/164.30 Q DP problem: 460.36/164.30 The TRS P consists of the following rules: 460.36/164.30 460.36/164.30 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.30 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.30 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.30 MARK(U46(X)) -> MARK(X) 460.36/164.30 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.30 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.30 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.30 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.30 MARK(U52(X)) -> MARK(X) 460.36/164.30 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.30 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.30 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.30 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.30 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.30 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.30 MARK(U86(X)) -> MARK(X) 460.36/164.30 460.36/164.30 The TRS R consists of the following rules: 460.36/164.30 460.36/164.30 mark(zeros) -> active(zeros) 460.36/164.30 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.30 active(zeros) -> mark(cons(0, zeros)) 460.36/164.30 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.30 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.30 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.30 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.30 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.30 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.30 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.30 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.30 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.30 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.30 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.30 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.30 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.30 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.30 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.30 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.30 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.30 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.30 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.30 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.30 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.30 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.30 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.30 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.30 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.30 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.30 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.30 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.30 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.30 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.30 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.30 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.30 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.30 mark(s(X)) -> active(s(mark(X))) 460.36/164.30 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.30 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.30 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.30 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.30 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.30 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.30 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.30 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.30 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.30 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.30 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.30 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.30 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.30 mark(0) -> active(0) 460.36/164.30 mark(tt) -> active(tt) 460.36/164.30 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.30 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.30 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.30 mark(isNat(X)) -> active(isNat(X)) 460.36/164.30 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.30 mark(length(X)) -> active(length(mark(X))) 460.36/164.30 mark(nil) -> active(nil) 460.36/164.30 length(active(X)) -> length(X) 460.36/164.30 length(mark(X)) -> length(X) 460.36/164.30 active(U13(tt)) -> mark(tt) 460.36/164.30 active(U23(tt)) -> mark(tt) 460.36/164.30 active(U33(tt)) -> mark(tt) 460.36/164.30 active(U46(tt)) -> mark(tt) 460.36/164.30 active(U52(tt)) -> mark(tt) 460.36/164.30 active(U61(tt)) -> mark(tt) 460.36/164.30 active(U71(tt)) -> mark(tt) 460.36/164.30 active(U86(tt)) -> mark(tt) 460.36/164.30 active(isNat(0)) -> mark(tt) 460.36/164.30 active(isNatIList(zeros)) -> mark(tt) 460.36/164.30 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.30 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.30 active(isNatKind(0)) -> mark(tt) 460.36/164.30 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.30 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.30 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.30 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.30 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.30 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.30 U13(active(X)) -> U13(X) 460.36/164.30 U13(mark(X)) -> U13(X) 460.36/164.30 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.30 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.30 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.30 U23(active(X)) -> U23(X) 460.36/164.30 U23(mark(X)) -> U23(X) 460.36/164.30 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.30 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.30 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.30 U33(active(X)) -> U33(X) 460.36/164.30 U33(mark(X)) -> U33(X) 460.36/164.30 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.30 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.30 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.30 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.30 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.30 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.30 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.30 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.30 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.30 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.30 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.30 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.30 U46(active(X)) -> U46(X) 460.36/164.30 U46(mark(X)) -> U46(X) 460.36/164.30 U52(active(X)) -> U52(X) 460.36/164.30 U52(mark(X)) -> U52(X) 460.36/164.30 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.30 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.30 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.30 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.30 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.30 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.30 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.30 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.30 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.30 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.30 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.30 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.30 U86(active(X)) -> U86(X) 460.36/164.30 U86(mark(X)) -> U86(X) 460.36/164.30 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.30 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.30 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.30 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.30 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.30 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.30 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.30 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.30 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.30 s(active(X)) -> s(X) 460.36/164.30 s(mark(X)) -> s(X) 460.36/164.30 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.30 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.30 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.30 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.30 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.30 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.30 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.30 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.30 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.30 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.30 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.30 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.30 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.30 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.30 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.30 U61(active(X)) -> U61(X) 460.36/164.30 U61(mark(X)) -> U61(X) 460.36/164.30 U71(active(X)) -> U71(X) 460.36/164.30 U71(mark(X)) -> U71(X) 460.36/164.30 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.30 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.30 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.30 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.30 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.30 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.30 460.36/164.30 The set Q consists of the following terms: 460.36/164.30 460.36/164.30 active(zeros) 460.36/164.30 active(U11(tt, x0)) 460.36/164.30 active(U12(tt, x0)) 460.36/164.30 active(U13(tt)) 460.36/164.30 active(U21(tt, x0)) 460.36/164.30 active(U22(tt, x0)) 460.36/164.30 active(U23(tt)) 460.36/164.30 active(U31(tt, x0)) 460.36/164.30 active(U32(tt, x0)) 460.36/164.30 active(U33(tt)) 460.36/164.30 active(U41(tt, x0, x1)) 460.36/164.30 active(U42(tt, x0, x1)) 460.36/164.30 active(U43(tt, x0, x1)) 460.36/164.30 active(U44(tt, x0, x1)) 460.36/164.30 active(U45(tt, x0)) 460.36/164.30 active(U46(tt)) 460.36/164.30 active(U51(tt, x0)) 460.36/164.30 active(U52(tt)) 460.36/164.30 active(U61(tt)) 460.36/164.30 active(U71(tt)) 460.36/164.30 active(U81(tt, x0, x1)) 460.36/164.30 active(U82(tt, x0, x1)) 460.36/164.30 active(U83(tt, x0, x1)) 460.36/164.30 active(U84(tt, x0, x1)) 460.36/164.30 active(U85(tt, x0)) 460.36/164.30 active(U86(tt)) 460.36/164.30 active(U91(tt, x0, x1)) 460.36/164.30 active(U92(tt, x0, x1)) 460.36/164.30 active(U93(tt, x0, x1)) 460.36/164.30 active(U94(tt, x0)) 460.36/164.30 active(isNat(0)) 460.36/164.30 active(isNat(length(x0))) 460.36/164.30 active(isNat(s(x0))) 460.36/164.30 active(isNatIList(x0)) 460.36/164.30 active(isNatIListKind(nil)) 460.36/164.30 active(isNatIListKind(zeros)) 460.36/164.30 active(isNatIListKind(cons(x0, x1))) 460.36/164.30 active(isNatKind(0)) 460.36/164.30 active(isNatKind(length(x0))) 460.36/164.30 active(isNatKind(s(x0))) 460.36/164.30 active(isNatList(nil)) 460.36/164.30 active(isNatList(cons(x0, x1))) 460.36/164.30 active(length(nil)) 460.36/164.30 active(length(cons(x0, x1))) 460.36/164.30 mark(zeros) 460.36/164.30 mark(cons(x0, x1)) 460.36/164.30 mark(0) 460.36/164.30 mark(U11(x0, x1)) 460.36/164.30 mark(tt) 460.36/164.30 mark(U12(x0, x1)) 460.36/164.30 mark(isNatIListKind(x0)) 460.36/164.30 mark(U13(x0)) 460.36/164.30 mark(isNatList(x0)) 460.36/164.30 mark(U21(x0, x1)) 460.36/164.30 mark(U22(x0, x1)) 460.36/164.30 mark(isNatKind(x0)) 460.36/164.30 mark(U23(x0)) 460.36/164.30 mark(isNat(x0)) 460.36/164.30 mark(U31(x0, x1)) 460.36/164.30 mark(U32(x0, x1)) 460.36/164.30 mark(U33(x0)) 460.36/164.30 mark(U41(x0, x1, x2)) 460.36/164.30 mark(U42(x0, x1, x2)) 460.36/164.30 mark(U43(x0, x1, x2)) 460.36/164.30 mark(U44(x0, x1, x2)) 460.36/164.30 mark(U45(x0, x1)) 460.36/164.30 mark(U46(x0)) 460.36/164.30 mark(isNatIList(x0)) 460.36/164.30 mark(U51(x0, x1)) 460.36/164.30 mark(U52(x0)) 460.36/164.30 mark(U61(x0)) 460.36/164.30 mark(U71(x0)) 460.36/164.30 mark(U81(x0, x1, x2)) 460.36/164.30 mark(U82(x0, x1, x2)) 460.36/164.30 mark(U83(x0, x1, x2)) 460.36/164.30 mark(U84(x0, x1, x2)) 460.36/164.30 mark(U85(x0, x1)) 460.36/164.30 mark(U86(x0)) 460.36/164.30 mark(U91(x0, x1, x2)) 460.36/164.30 mark(U92(x0, x1, x2)) 460.36/164.30 mark(U93(x0, x1, x2)) 460.36/164.30 mark(U94(x0, x1)) 460.36/164.30 mark(s(x0)) 460.36/164.30 mark(length(x0)) 460.36/164.30 mark(nil) 460.36/164.30 cons(mark(x0), x1) 460.36/164.30 cons(x0, mark(x1)) 460.36/164.30 cons(active(x0), x1) 460.36/164.30 cons(x0, active(x1)) 460.36/164.30 U11(mark(x0), x1) 460.36/164.30 U11(x0, mark(x1)) 460.36/164.30 U11(active(x0), x1) 460.36/164.30 U11(x0, active(x1)) 460.36/164.30 U12(mark(x0), x1) 460.36/164.30 U12(x0, mark(x1)) 460.36/164.30 U12(active(x0), x1) 460.36/164.30 U12(x0, active(x1)) 460.36/164.30 isNatIListKind(mark(x0)) 460.36/164.30 isNatIListKind(active(x0)) 460.36/164.30 U13(mark(x0)) 460.36/164.30 U13(active(x0)) 460.36/164.30 isNatList(mark(x0)) 460.36/164.30 isNatList(active(x0)) 460.36/164.30 U21(mark(x0), x1) 460.36/164.30 U21(x0, mark(x1)) 460.36/164.30 U21(active(x0), x1) 460.36/164.30 U21(x0, active(x1)) 460.36/164.30 U22(mark(x0), x1) 460.36/164.30 U22(x0, mark(x1)) 460.36/164.30 U22(active(x0), x1) 460.36/164.30 U22(x0, active(x1)) 460.36/164.30 isNatKind(mark(x0)) 460.36/164.30 isNatKind(active(x0)) 460.36/164.30 U23(mark(x0)) 460.36/164.30 U23(active(x0)) 460.36/164.30 isNat(mark(x0)) 460.36/164.30 isNat(active(x0)) 460.36/164.30 U31(mark(x0), x1) 460.36/164.30 U31(x0, mark(x1)) 460.36/164.30 U31(active(x0), x1) 460.36/164.30 U31(x0, active(x1)) 460.36/164.30 U32(mark(x0), x1) 460.36/164.30 U32(x0, mark(x1)) 460.36/164.30 U32(active(x0), x1) 460.36/164.30 U32(x0, active(x1)) 460.36/164.30 U33(mark(x0)) 460.36/164.30 U33(active(x0)) 460.36/164.30 U41(mark(x0), x1, x2) 460.36/164.30 U41(x0, mark(x1), x2) 460.36/164.30 U41(x0, x1, mark(x2)) 460.36/164.30 U41(active(x0), x1, x2) 460.36/164.30 U41(x0, active(x1), x2) 460.36/164.30 U41(x0, x1, active(x2)) 460.36/164.30 U42(mark(x0), x1, x2) 460.36/164.30 U42(x0, mark(x1), x2) 460.36/164.30 U42(x0, x1, mark(x2)) 460.36/164.30 U42(active(x0), x1, x2) 460.36/164.30 U42(x0, active(x1), x2) 460.36/164.30 U42(x0, x1, active(x2)) 460.36/164.30 U43(mark(x0), x1, x2) 460.36/164.30 U43(x0, mark(x1), x2) 460.36/164.30 U43(x0, x1, mark(x2)) 460.36/164.30 U43(active(x0), x1, x2) 460.36/164.30 U43(x0, active(x1), x2) 460.36/164.30 U43(x0, x1, active(x2)) 460.36/164.30 U44(mark(x0), x1, x2) 460.36/164.30 U44(x0, mark(x1), x2) 460.36/164.30 U44(x0, x1, mark(x2)) 460.36/164.30 U44(active(x0), x1, x2) 460.36/164.30 U44(x0, active(x1), x2) 460.36/164.30 U44(x0, x1, active(x2)) 460.36/164.30 U45(mark(x0), x1) 460.36/164.30 U45(x0, mark(x1)) 460.36/164.30 U45(active(x0), x1) 460.36/164.30 U45(x0, active(x1)) 460.36/164.30 U46(mark(x0)) 460.36/164.30 U46(active(x0)) 460.36/164.30 isNatIList(mark(x0)) 460.36/164.30 isNatIList(active(x0)) 460.36/164.30 U51(mark(x0), x1) 460.36/164.30 U51(x0, mark(x1)) 460.36/164.31 U51(active(x0), x1) 460.36/164.31 U51(x0, active(x1)) 460.36/164.31 U52(mark(x0)) 460.36/164.31 U52(active(x0)) 460.36/164.31 U61(mark(x0)) 460.36/164.31 U61(active(x0)) 460.36/164.31 U71(mark(x0)) 460.36/164.31 U71(active(x0)) 460.36/164.31 U81(mark(x0), x1, x2) 460.36/164.31 U81(x0, mark(x1), x2) 460.36/164.31 U81(x0, x1, mark(x2)) 460.36/164.31 U81(active(x0), x1, x2) 460.36/164.31 U81(x0, active(x1), x2) 460.36/164.31 U81(x0, x1, active(x2)) 460.36/164.31 U82(mark(x0), x1, x2) 460.36/164.31 U82(x0, mark(x1), x2) 460.36/164.31 U82(x0, x1, mark(x2)) 460.36/164.31 U82(active(x0), x1, x2) 460.36/164.31 U82(x0, active(x1), x2) 460.36/164.31 U82(x0, x1, active(x2)) 460.36/164.31 U83(mark(x0), x1, x2) 460.36/164.31 U83(x0, mark(x1), x2) 460.36/164.31 U83(x0, x1, mark(x2)) 460.36/164.31 U83(active(x0), x1, x2) 460.36/164.31 U83(x0, active(x1), x2) 460.36/164.31 U83(x0, x1, active(x2)) 460.36/164.31 U84(mark(x0), x1, x2) 460.36/164.31 U84(x0, mark(x1), x2) 460.36/164.31 U84(x0, x1, mark(x2)) 460.36/164.31 U84(active(x0), x1, x2) 460.36/164.31 U84(x0, active(x1), x2) 460.36/164.31 U84(x0, x1, active(x2)) 460.36/164.31 U85(mark(x0), x1) 460.36/164.31 U85(x0, mark(x1)) 460.36/164.31 U85(active(x0), x1) 460.36/164.31 U85(x0, active(x1)) 460.36/164.31 U86(mark(x0)) 460.36/164.31 U86(active(x0)) 460.36/164.31 U91(mark(x0), x1, x2) 460.36/164.31 U91(x0, mark(x1), x2) 460.36/164.31 U91(x0, x1, mark(x2)) 460.36/164.31 U91(active(x0), x1, x2) 460.36/164.31 U91(x0, active(x1), x2) 460.36/164.31 U91(x0, x1, active(x2)) 460.36/164.31 U92(mark(x0), x1, x2) 460.36/164.31 U92(x0, mark(x1), x2) 460.36/164.31 U92(x0, x1, mark(x2)) 460.36/164.31 U92(active(x0), x1, x2) 460.36/164.31 U92(x0, active(x1), x2) 460.36/164.31 U92(x0, x1, active(x2)) 460.36/164.31 U93(mark(x0), x1, x2) 460.36/164.31 U93(x0, mark(x1), x2) 460.36/164.31 U93(x0, x1, mark(x2)) 460.36/164.31 U93(active(x0), x1, x2) 460.36/164.31 U93(x0, active(x1), x2) 460.36/164.31 U93(x0, x1, active(x2)) 460.36/164.31 U94(mark(x0), x1) 460.36/164.31 U94(x0, mark(x1)) 460.36/164.31 U94(active(x0), x1) 460.36/164.31 U94(x0, active(x1)) 460.36/164.31 s(mark(x0)) 460.36/164.31 s(active(x0)) 460.36/164.31 length(mark(x0)) 460.36/164.31 length(active(x0)) 460.36/164.31 460.36/164.31 We have to consider all minimal (P,Q,R)-chains. 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (343) QDPOrderProof (EQUIVALENT) 460.36/164.31 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.31 460.36/164.31 460.36/164.31 The following pairs can be oriented strictly and are deleted. 460.36/164.31 460.36/164.31 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 460.36/164.31 The remaining pairs can at least be oriented weakly. 460.36/164.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.31 460.36/164.31 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.31 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2x_3 + 2 460.36/164.31 POL( U43_3(x_1, ..., x_3) ) = 0 460.36/164.31 POL( U44_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.31 POL( U51_2(x_1, x_2) ) = 1 460.36/164.31 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U83_3(x_1, ..., x_3) ) = x_1 + 1 460.36/164.31 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.31 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.31 POL( zeros ) = 0 460.36/164.31 POL( active_1(x_1) ) = max{0, -2} 460.36/164.31 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( 0 ) = 0 460.36/164.31 POL( U11_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( tt ) = 2 460.36/164.31 POL( U12_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.31 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.31 POL( U13_1(x_1) ) = 1 460.36/164.31 POL( isNatList_1(x_1) ) = 0 460.36/164.31 POL( U21_2(x_1, x_2) ) = 2 460.36/164.31 POL( U22_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.31 POL( isNatKind_1(x_1) ) = 0 460.36/164.31 POL( U23_1(x_1) ) = max{0, -2} 460.36/164.31 POL( isNat_1(x_1) ) = 0 460.36/164.31 POL( U31_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.31 POL( U32_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U33_1(x_1) ) = 0 460.36/164.31 POL( U41_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 460.36/164.31 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( isNatIList_1(x_1) ) = 0 460.36/164.31 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( U91_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 - 2} 460.36/164.31 POL( U92_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 460.36/164.31 POL( U93_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U94_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.31 POL( s_1(x_1) ) = max{0, -2} 460.36/164.31 POL( length_1(x_1) ) = 0 460.36/164.31 POL( U61_1(x_1) ) = 2 460.36/164.31 POL( U71_1(x_1) ) = 2 460.36/164.31 POL( nil ) = 0 460.36/164.31 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.31 460.36/164.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.31 none 460.36/164.31 460.36/164.31 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (344) 460.36/164.31 Obligation: 460.36/164.31 Q DP problem: 460.36/164.31 The TRS P consists of the following rules: 460.36/164.31 460.36/164.31 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.31 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.31 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.31 MARK(U46(X)) -> MARK(X) 460.36/164.31 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.31 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.31 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.31 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.31 MARK(U52(X)) -> MARK(X) 460.36/164.31 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.31 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.31 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.31 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.31 MARK(U86(X)) -> MARK(X) 460.36/164.31 460.36/164.31 The TRS R consists of the following rules: 460.36/164.31 460.36/164.31 mark(zeros) -> active(zeros) 460.36/164.31 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.31 active(zeros) -> mark(cons(0, zeros)) 460.36/164.31 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.31 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.31 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.31 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.31 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.31 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.31 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.31 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.31 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.31 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.31 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.31 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.31 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.31 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.31 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.31 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.31 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.31 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.31 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.31 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.31 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.31 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.31 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.31 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.31 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.31 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.31 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.31 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.31 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.31 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.31 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.31 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.31 mark(s(X)) -> active(s(mark(X))) 460.36/164.31 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.31 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.31 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.31 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.31 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.31 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.31 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.31 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.31 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.31 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.31 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.31 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.31 mark(0) -> active(0) 460.36/164.31 mark(tt) -> active(tt) 460.36/164.31 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.31 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.31 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.31 mark(isNat(X)) -> active(isNat(X)) 460.36/164.31 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.31 mark(length(X)) -> active(length(mark(X))) 460.36/164.31 mark(nil) -> active(nil) 460.36/164.31 length(active(X)) -> length(X) 460.36/164.31 length(mark(X)) -> length(X) 460.36/164.31 active(U13(tt)) -> mark(tt) 460.36/164.31 active(U23(tt)) -> mark(tt) 460.36/164.31 active(U33(tt)) -> mark(tt) 460.36/164.31 active(U46(tt)) -> mark(tt) 460.36/164.31 active(U52(tt)) -> mark(tt) 460.36/164.31 active(U61(tt)) -> mark(tt) 460.36/164.31 active(U71(tt)) -> mark(tt) 460.36/164.31 active(U86(tt)) -> mark(tt) 460.36/164.31 active(isNat(0)) -> mark(tt) 460.36/164.31 active(isNatIList(zeros)) -> mark(tt) 460.36/164.31 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.31 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.31 active(isNatKind(0)) -> mark(tt) 460.36/164.31 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.31 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.31 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.31 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.31 U13(active(X)) -> U13(X) 460.36/164.31 U13(mark(X)) -> U13(X) 460.36/164.31 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.31 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.31 U23(active(X)) -> U23(X) 460.36/164.31 U23(mark(X)) -> U23(X) 460.36/164.31 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.31 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.31 U33(active(X)) -> U33(X) 460.36/164.31 U33(mark(X)) -> U33(X) 460.36/164.31 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.31 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.31 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.31 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U46(active(X)) -> U46(X) 460.36/164.31 U46(mark(X)) -> U46(X) 460.36/164.31 U52(active(X)) -> U52(X) 460.36/164.31 U52(mark(X)) -> U52(X) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 U86(active(X)) -> U86(X) 460.36/164.31 U86(mark(X)) -> U86(X) 460.36/164.31 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.31 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.31 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.31 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.31 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.31 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.31 s(active(X)) -> s(X) 460.36/164.31 s(mark(X)) -> s(X) 460.36/164.31 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.31 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.31 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.31 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.31 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.31 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.31 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.31 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U61(active(X)) -> U61(X) 460.36/164.31 U61(mark(X)) -> U61(X) 460.36/164.31 U71(active(X)) -> U71(X) 460.36/164.31 U71(mark(X)) -> U71(X) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.31 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.31 460.36/164.31 The set Q consists of the following terms: 460.36/164.31 460.36/164.31 active(zeros) 460.36/164.31 active(U11(tt, x0)) 460.36/164.31 active(U12(tt, x0)) 460.36/164.31 active(U13(tt)) 460.36/164.31 active(U21(tt, x0)) 460.36/164.31 active(U22(tt, x0)) 460.36/164.31 active(U23(tt)) 460.36/164.31 active(U31(tt, x0)) 460.36/164.31 active(U32(tt, x0)) 460.36/164.31 active(U33(tt)) 460.36/164.31 active(U41(tt, x0, x1)) 460.36/164.31 active(U42(tt, x0, x1)) 460.36/164.31 active(U43(tt, x0, x1)) 460.36/164.31 active(U44(tt, x0, x1)) 460.36/164.31 active(U45(tt, x0)) 460.36/164.31 active(U46(tt)) 460.36/164.31 active(U51(tt, x0)) 460.36/164.31 active(U52(tt)) 460.36/164.31 active(U61(tt)) 460.36/164.31 active(U71(tt)) 460.36/164.31 active(U81(tt, x0, x1)) 460.36/164.31 active(U82(tt, x0, x1)) 460.36/164.31 active(U83(tt, x0, x1)) 460.36/164.31 active(U84(tt, x0, x1)) 460.36/164.31 active(U85(tt, x0)) 460.36/164.31 active(U86(tt)) 460.36/164.31 active(U91(tt, x0, x1)) 460.36/164.31 active(U92(tt, x0, x1)) 460.36/164.31 active(U93(tt, x0, x1)) 460.36/164.31 active(U94(tt, x0)) 460.36/164.31 active(isNat(0)) 460.36/164.31 active(isNat(length(x0))) 460.36/164.31 active(isNat(s(x0))) 460.36/164.31 active(isNatIList(x0)) 460.36/164.31 active(isNatIListKind(nil)) 460.36/164.31 active(isNatIListKind(zeros)) 460.36/164.31 active(isNatIListKind(cons(x0, x1))) 460.36/164.31 active(isNatKind(0)) 460.36/164.31 active(isNatKind(length(x0))) 460.36/164.31 active(isNatKind(s(x0))) 460.36/164.31 active(isNatList(nil)) 460.36/164.31 active(isNatList(cons(x0, x1))) 460.36/164.31 active(length(nil)) 460.36/164.31 active(length(cons(x0, x1))) 460.36/164.31 mark(zeros) 460.36/164.31 mark(cons(x0, x1)) 460.36/164.31 mark(0) 460.36/164.31 mark(U11(x0, x1)) 460.36/164.31 mark(tt) 460.36/164.31 mark(U12(x0, x1)) 460.36/164.31 mark(isNatIListKind(x0)) 460.36/164.31 mark(U13(x0)) 460.36/164.31 mark(isNatList(x0)) 460.36/164.31 mark(U21(x0, x1)) 460.36/164.31 mark(U22(x0, x1)) 460.36/164.31 mark(isNatKind(x0)) 460.36/164.31 mark(U23(x0)) 460.36/164.31 mark(isNat(x0)) 460.36/164.31 mark(U31(x0, x1)) 460.36/164.31 mark(U32(x0, x1)) 460.36/164.31 mark(U33(x0)) 460.36/164.31 mark(U41(x0, x1, x2)) 460.36/164.31 mark(U42(x0, x1, x2)) 460.36/164.31 mark(U43(x0, x1, x2)) 460.36/164.31 mark(U44(x0, x1, x2)) 460.36/164.31 mark(U45(x0, x1)) 460.36/164.31 mark(U46(x0)) 460.36/164.31 mark(isNatIList(x0)) 460.36/164.31 mark(U51(x0, x1)) 460.36/164.31 mark(U52(x0)) 460.36/164.31 mark(U61(x0)) 460.36/164.31 mark(U71(x0)) 460.36/164.31 mark(U81(x0, x1, x2)) 460.36/164.31 mark(U82(x0, x1, x2)) 460.36/164.31 mark(U83(x0, x1, x2)) 460.36/164.31 mark(U84(x0, x1, x2)) 460.36/164.31 mark(U85(x0, x1)) 460.36/164.31 mark(U86(x0)) 460.36/164.31 mark(U91(x0, x1, x2)) 460.36/164.31 mark(U92(x0, x1, x2)) 460.36/164.31 mark(U93(x0, x1, x2)) 460.36/164.31 mark(U94(x0, x1)) 460.36/164.31 mark(s(x0)) 460.36/164.31 mark(length(x0)) 460.36/164.31 mark(nil) 460.36/164.31 cons(mark(x0), x1) 460.36/164.31 cons(x0, mark(x1)) 460.36/164.31 cons(active(x0), x1) 460.36/164.31 cons(x0, active(x1)) 460.36/164.31 U11(mark(x0), x1) 460.36/164.31 U11(x0, mark(x1)) 460.36/164.31 U11(active(x0), x1) 460.36/164.31 U11(x0, active(x1)) 460.36/164.31 U12(mark(x0), x1) 460.36/164.31 U12(x0, mark(x1)) 460.36/164.31 U12(active(x0), x1) 460.36/164.31 U12(x0, active(x1)) 460.36/164.31 isNatIListKind(mark(x0)) 460.36/164.31 isNatIListKind(active(x0)) 460.36/164.31 U13(mark(x0)) 460.36/164.31 U13(active(x0)) 460.36/164.31 isNatList(mark(x0)) 460.36/164.31 isNatList(active(x0)) 460.36/164.31 U21(mark(x0), x1) 460.36/164.31 U21(x0, mark(x1)) 460.36/164.31 U21(active(x0), x1) 460.36/164.31 U21(x0, active(x1)) 460.36/164.31 U22(mark(x0), x1) 460.36/164.31 U22(x0, mark(x1)) 460.36/164.31 U22(active(x0), x1) 460.36/164.31 U22(x0, active(x1)) 460.36/164.31 isNatKind(mark(x0)) 460.36/164.31 isNatKind(active(x0)) 460.36/164.31 U23(mark(x0)) 460.36/164.31 U23(active(x0)) 460.36/164.31 isNat(mark(x0)) 460.36/164.31 isNat(active(x0)) 460.36/164.31 U31(mark(x0), x1) 460.36/164.31 U31(x0, mark(x1)) 460.36/164.31 U31(active(x0), x1) 460.36/164.31 U31(x0, active(x1)) 460.36/164.31 U32(mark(x0), x1) 460.36/164.31 U32(x0, mark(x1)) 460.36/164.31 U32(active(x0), x1) 460.36/164.31 U32(x0, active(x1)) 460.36/164.31 U33(mark(x0)) 460.36/164.31 U33(active(x0)) 460.36/164.31 U41(mark(x0), x1, x2) 460.36/164.31 U41(x0, mark(x1), x2) 460.36/164.31 U41(x0, x1, mark(x2)) 460.36/164.31 U41(active(x0), x1, x2) 460.36/164.31 U41(x0, active(x1), x2) 460.36/164.31 U41(x0, x1, active(x2)) 460.36/164.31 U42(mark(x0), x1, x2) 460.36/164.31 U42(x0, mark(x1), x2) 460.36/164.31 U42(x0, x1, mark(x2)) 460.36/164.31 U42(active(x0), x1, x2) 460.36/164.31 U42(x0, active(x1), x2) 460.36/164.31 U42(x0, x1, active(x2)) 460.36/164.31 U43(mark(x0), x1, x2) 460.36/164.31 U43(x0, mark(x1), x2) 460.36/164.31 U43(x0, x1, mark(x2)) 460.36/164.31 U43(active(x0), x1, x2) 460.36/164.31 U43(x0, active(x1), x2) 460.36/164.31 U43(x0, x1, active(x2)) 460.36/164.31 U44(mark(x0), x1, x2) 460.36/164.31 U44(x0, mark(x1), x2) 460.36/164.31 U44(x0, x1, mark(x2)) 460.36/164.31 U44(active(x0), x1, x2) 460.36/164.31 U44(x0, active(x1), x2) 460.36/164.31 U44(x0, x1, active(x2)) 460.36/164.31 U45(mark(x0), x1) 460.36/164.31 U45(x0, mark(x1)) 460.36/164.31 U45(active(x0), x1) 460.36/164.31 U45(x0, active(x1)) 460.36/164.31 U46(mark(x0)) 460.36/164.31 U46(active(x0)) 460.36/164.31 isNatIList(mark(x0)) 460.36/164.31 isNatIList(active(x0)) 460.36/164.31 U51(mark(x0), x1) 460.36/164.31 U51(x0, mark(x1)) 460.36/164.31 U51(active(x0), x1) 460.36/164.31 U51(x0, active(x1)) 460.36/164.31 U52(mark(x0)) 460.36/164.31 U52(active(x0)) 460.36/164.31 U61(mark(x0)) 460.36/164.31 U61(active(x0)) 460.36/164.31 U71(mark(x0)) 460.36/164.31 U71(active(x0)) 460.36/164.31 U81(mark(x0), x1, x2) 460.36/164.31 U81(x0, mark(x1), x2) 460.36/164.31 U81(x0, x1, mark(x2)) 460.36/164.31 U81(active(x0), x1, x2) 460.36/164.31 U81(x0, active(x1), x2) 460.36/164.31 U81(x0, x1, active(x2)) 460.36/164.31 U82(mark(x0), x1, x2) 460.36/164.31 U82(x0, mark(x1), x2) 460.36/164.31 U82(x0, x1, mark(x2)) 460.36/164.31 U82(active(x0), x1, x2) 460.36/164.31 U82(x0, active(x1), x2) 460.36/164.31 U82(x0, x1, active(x2)) 460.36/164.31 U83(mark(x0), x1, x2) 460.36/164.31 U83(x0, mark(x1), x2) 460.36/164.31 U83(x0, x1, mark(x2)) 460.36/164.31 U83(active(x0), x1, x2) 460.36/164.31 U83(x0, active(x1), x2) 460.36/164.31 U83(x0, x1, active(x2)) 460.36/164.31 U84(mark(x0), x1, x2) 460.36/164.31 U84(x0, mark(x1), x2) 460.36/164.31 U84(x0, x1, mark(x2)) 460.36/164.31 U84(active(x0), x1, x2) 460.36/164.31 U84(x0, active(x1), x2) 460.36/164.31 U84(x0, x1, active(x2)) 460.36/164.31 U85(mark(x0), x1) 460.36/164.31 U85(x0, mark(x1)) 460.36/164.31 U85(active(x0), x1) 460.36/164.31 U85(x0, active(x1)) 460.36/164.31 U86(mark(x0)) 460.36/164.31 U86(active(x0)) 460.36/164.31 U91(mark(x0), x1, x2) 460.36/164.31 U91(x0, mark(x1), x2) 460.36/164.31 U91(x0, x1, mark(x2)) 460.36/164.31 U91(active(x0), x1, x2) 460.36/164.31 U91(x0, active(x1), x2) 460.36/164.31 U91(x0, x1, active(x2)) 460.36/164.31 U92(mark(x0), x1, x2) 460.36/164.31 U92(x0, mark(x1), x2) 460.36/164.31 U92(x0, x1, mark(x2)) 460.36/164.31 U92(active(x0), x1, x2) 460.36/164.31 U92(x0, active(x1), x2) 460.36/164.31 U92(x0, x1, active(x2)) 460.36/164.31 U93(mark(x0), x1, x2) 460.36/164.31 U93(x0, mark(x1), x2) 460.36/164.31 U93(x0, x1, mark(x2)) 460.36/164.31 U93(active(x0), x1, x2) 460.36/164.31 U93(x0, active(x1), x2) 460.36/164.31 U93(x0, x1, active(x2)) 460.36/164.31 U94(mark(x0), x1) 460.36/164.31 U94(x0, mark(x1)) 460.36/164.31 U94(active(x0), x1) 460.36/164.31 U94(x0, active(x1)) 460.36/164.31 s(mark(x0)) 460.36/164.31 s(active(x0)) 460.36/164.31 length(mark(x0)) 460.36/164.31 length(active(x0)) 460.36/164.31 460.36/164.31 We have to consider all minimal (P,Q,R)-chains. 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (345) QDPOrderProof (EQUIVALENT) 460.36/164.31 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.31 460.36/164.31 460.36/164.31 The following pairs can be oriented strictly and are deleted. 460.36/164.31 460.36/164.31 ACTIVE(U42(tt, V1, V2)) -> MARK(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 The remaining pairs can at least be oriented weakly. 460.36/164.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.31 460.36/164.31 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.31 POL( U43_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U44_3(x_1, ..., x_3) ) = 0 460.36/164.31 POL( U45_2(x_1, x_2) ) = 2 460.36/164.31 POL( U51_2(x_1, x_2) ) = 2 460.36/164.31 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U85_2(x_1, x_2) ) = 2 460.36/164.31 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.31 POL( zeros ) = 0 460.36/164.31 POL( active_1(x_1) ) = max{0, x_1 - 2} 460.36/164.31 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.31 POL( 0 ) = 0 460.36/164.31 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.31 POL( tt ) = 2 460.36/164.31 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.31 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.31 POL( isNatList_1(x_1) ) = 0 460.36/164.31 POL( U21_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.31 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} 460.36/164.31 POL( isNatKind_1(x_1) ) = 2 460.36/164.31 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( isNat_1(x_1) ) = 2 460.36/164.31 POL( U31_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.31 POL( U32_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.31 POL( U33_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U41_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 460.36/164.31 POL( U42_3(x_1, ..., x_3) ) = 2x_1 + 1 460.36/164.31 POL( U46_1(x_1) ) = 2 460.36/164.31 POL( isNatIList_1(x_1) ) = x_1 460.36/164.31 POL( U52_1(x_1) ) = 2 460.36/164.31 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U91_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U93_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.36/164.31 POL( U94_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.31 POL( s_1(x_1) ) = max{0, x_1 - 2} 460.36/164.31 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U61_1(x_1) ) = 2 460.36/164.31 POL( U71_1(x_1) ) = 0 460.36/164.31 POL( nil ) = 0 460.36/164.31 POL( MARK_1(x_1) ) = max{0, -2} 460.36/164.31 460.36/164.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.31 460.36/164.31 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.31 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 460.36/164.31 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (346) 460.36/164.31 Obligation: 460.36/164.31 Q DP problem: 460.36/164.31 The TRS P consists of the following rules: 460.36/164.31 460.36/164.31 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.31 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.31 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.31 MARK(U46(X)) -> MARK(X) 460.36/164.31 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.31 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.31 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.31 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.31 MARK(U52(X)) -> MARK(X) 460.36/164.31 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.31 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.31 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.31 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.31 MARK(U86(X)) -> MARK(X) 460.36/164.31 460.36/164.31 The TRS R consists of the following rules: 460.36/164.31 460.36/164.31 mark(zeros) -> active(zeros) 460.36/164.31 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.31 active(zeros) -> mark(cons(0, zeros)) 460.36/164.31 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.31 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.31 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.31 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.31 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.31 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.31 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.31 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.31 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.31 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.31 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.31 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.31 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.31 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.31 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.31 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.31 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.31 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.31 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.31 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.31 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.31 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.31 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.31 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.31 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.31 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.31 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.31 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.31 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.31 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.31 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.31 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.31 mark(s(X)) -> active(s(mark(X))) 460.36/164.31 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.31 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.31 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.31 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.31 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.31 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.31 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.31 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.31 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.31 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.31 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.31 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.31 mark(0) -> active(0) 460.36/164.31 mark(tt) -> active(tt) 460.36/164.31 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.31 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.31 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.31 mark(isNat(X)) -> active(isNat(X)) 460.36/164.31 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.31 mark(length(X)) -> active(length(mark(X))) 460.36/164.31 mark(nil) -> active(nil) 460.36/164.31 length(active(X)) -> length(X) 460.36/164.31 length(mark(X)) -> length(X) 460.36/164.31 active(U13(tt)) -> mark(tt) 460.36/164.31 active(U23(tt)) -> mark(tt) 460.36/164.31 active(U33(tt)) -> mark(tt) 460.36/164.31 active(U46(tt)) -> mark(tt) 460.36/164.31 active(U52(tt)) -> mark(tt) 460.36/164.31 active(U61(tt)) -> mark(tt) 460.36/164.31 active(U71(tt)) -> mark(tt) 460.36/164.31 active(U86(tt)) -> mark(tt) 460.36/164.31 active(isNat(0)) -> mark(tt) 460.36/164.31 active(isNatIList(zeros)) -> mark(tt) 460.36/164.31 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.31 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.31 active(isNatKind(0)) -> mark(tt) 460.36/164.31 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.31 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.31 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.31 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.31 U13(active(X)) -> U13(X) 460.36/164.31 U13(mark(X)) -> U13(X) 460.36/164.31 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.31 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.31 U23(active(X)) -> U23(X) 460.36/164.31 U23(mark(X)) -> U23(X) 460.36/164.31 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.31 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.31 U33(active(X)) -> U33(X) 460.36/164.31 U33(mark(X)) -> U33(X) 460.36/164.31 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.31 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.31 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.31 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U46(active(X)) -> U46(X) 460.36/164.31 U46(mark(X)) -> U46(X) 460.36/164.31 U52(active(X)) -> U52(X) 460.36/164.31 U52(mark(X)) -> U52(X) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 U86(active(X)) -> U86(X) 460.36/164.31 U86(mark(X)) -> U86(X) 460.36/164.31 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.31 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.31 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.31 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.31 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.31 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.31 s(active(X)) -> s(X) 460.36/164.31 s(mark(X)) -> s(X) 460.36/164.31 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.31 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.31 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.31 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.31 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.31 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.31 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.31 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U61(active(X)) -> U61(X) 460.36/164.31 U61(mark(X)) -> U61(X) 460.36/164.31 U71(active(X)) -> U71(X) 460.36/164.31 U71(mark(X)) -> U71(X) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.31 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.31 460.36/164.31 The set Q consists of the following terms: 460.36/164.31 460.36/164.31 active(zeros) 460.36/164.31 active(U11(tt, x0)) 460.36/164.31 active(U12(tt, x0)) 460.36/164.31 active(U13(tt)) 460.36/164.31 active(U21(tt, x0)) 460.36/164.31 active(U22(tt, x0)) 460.36/164.31 active(U23(tt)) 460.36/164.31 active(U31(tt, x0)) 460.36/164.31 active(U32(tt, x0)) 460.36/164.31 active(U33(tt)) 460.36/164.31 active(U41(tt, x0, x1)) 460.36/164.31 active(U42(tt, x0, x1)) 460.36/164.31 active(U43(tt, x0, x1)) 460.36/164.31 active(U44(tt, x0, x1)) 460.36/164.31 active(U45(tt, x0)) 460.36/164.31 active(U46(tt)) 460.36/164.31 active(U51(tt, x0)) 460.36/164.31 active(U52(tt)) 460.36/164.31 active(U61(tt)) 460.36/164.31 active(U71(tt)) 460.36/164.31 active(U81(tt, x0, x1)) 460.36/164.31 active(U82(tt, x0, x1)) 460.36/164.31 active(U83(tt, x0, x1)) 460.36/164.31 active(U84(tt, x0, x1)) 460.36/164.31 active(U85(tt, x0)) 460.36/164.31 active(U86(tt)) 460.36/164.31 active(U91(tt, x0, x1)) 460.36/164.31 active(U92(tt, x0, x1)) 460.36/164.31 active(U93(tt, x0, x1)) 460.36/164.31 active(U94(tt, x0)) 460.36/164.31 active(isNat(0)) 460.36/164.31 active(isNat(length(x0))) 460.36/164.31 active(isNat(s(x0))) 460.36/164.31 active(isNatIList(x0)) 460.36/164.31 active(isNatIListKind(nil)) 460.36/164.31 active(isNatIListKind(zeros)) 460.36/164.31 active(isNatIListKind(cons(x0, x1))) 460.36/164.31 active(isNatKind(0)) 460.36/164.31 active(isNatKind(length(x0))) 460.36/164.31 active(isNatKind(s(x0))) 460.36/164.31 active(isNatList(nil)) 460.36/164.31 active(isNatList(cons(x0, x1))) 460.36/164.31 active(length(nil)) 460.36/164.31 active(length(cons(x0, x1))) 460.36/164.31 mark(zeros) 460.36/164.31 mark(cons(x0, x1)) 460.36/164.31 mark(0) 460.36/164.31 mark(U11(x0, x1)) 460.36/164.31 mark(tt) 460.36/164.31 mark(U12(x0, x1)) 460.36/164.31 mark(isNatIListKind(x0)) 460.36/164.31 mark(U13(x0)) 460.36/164.31 mark(isNatList(x0)) 460.36/164.31 mark(U21(x0, x1)) 460.36/164.31 mark(U22(x0, x1)) 460.36/164.31 mark(isNatKind(x0)) 460.36/164.31 mark(U23(x0)) 460.36/164.31 mark(isNat(x0)) 460.36/164.31 mark(U31(x0, x1)) 460.36/164.31 mark(U32(x0, x1)) 460.36/164.31 mark(U33(x0)) 460.36/164.31 mark(U41(x0, x1, x2)) 460.36/164.31 mark(U42(x0, x1, x2)) 460.36/164.31 mark(U43(x0, x1, x2)) 460.36/164.31 mark(U44(x0, x1, x2)) 460.36/164.31 mark(U45(x0, x1)) 460.36/164.31 mark(U46(x0)) 460.36/164.31 mark(isNatIList(x0)) 460.36/164.31 mark(U51(x0, x1)) 460.36/164.31 mark(U52(x0)) 460.36/164.31 mark(U61(x0)) 460.36/164.31 mark(U71(x0)) 460.36/164.31 mark(U81(x0, x1, x2)) 460.36/164.31 mark(U82(x0, x1, x2)) 460.36/164.31 mark(U83(x0, x1, x2)) 460.36/164.31 mark(U84(x0, x1, x2)) 460.36/164.31 mark(U85(x0, x1)) 460.36/164.31 mark(U86(x0)) 460.36/164.31 mark(U91(x0, x1, x2)) 460.36/164.31 mark(U92(x0, x1, x2)) 460.36/164.31 mark(U93(x0, x1, x2)) 460.36/164.31 mark(U94(x0, x1)) 460.36/164.31 mark(s(x0)) 460.36/164.31 mark(length(x0)) 460.36/164.31 mark(nil) 460.36/164.31 cons(mark(x0), x1) 460.36/164.31 cons(x0, mark(x1)) 460.36/164.31 cons(active(x0), x1) 460.36/164.31 cons(x0, active(x1)) 460.36/164.31 U11(mark(x0), x1) 460.36/164.31 U11(x0, mark(x1)) 460.36/164.31 U11(active(x0), x1) 460.36/164.31 U11(x0, active(x1)) 460.36/164.31 U12(mark(x0), x1) 460.36/164.31 U12(x0, mark(x1)) 460.36/164.31 U12(active(x0), x1) 460.36/164.31 U12(x0, active(x1)) 460.36/164.31 isNatIListKind(mark(x0)) 460.36/164.31 isNatIListKind(active(x0)) 460.36/164.31 U13(mark(x0)) 460.36/164.31 U13(active(x0)) 460.36/164.31 isNatList(mark(x0)) 460.36/164.31 isNatList(active(x0)) 460.36/164.31 U21(mark(x0), x1) 460.36/164.31 U21(x0, mark(x1)) 460.36/164.31 U21(active(x0), x1) 460.36/164.31 U21(x0, active(x1)) 460.36/164.31 U22(mark(x0), x1) 460.36/164.31 U22(x0, mark(x1)) 460.36/164.31 U22(active(x0), x1) 460.36/164.31 U22(x0, active(x1)) 460.36/164.31 isNatKind(mark(x0)) 460.36/164.31 isNatKind(active(x0)) 460.36/164.31 U23(mark(x0)) 460.36/164.31 U23(active(x0)) 460.36/164.31 isNat(mark(x0)) 460.36/164.31 isNat(active(x0)) 460.36/164.31 U31(mark(x0), x1) 460.36/164.31 U31(x0, mark(x1)) 460.36/164.31 U31(active(x0), x1) 460.36/164.31 U31(x0, active(x1)) 460.36/164.31 U32(mark(x0), x1) 460.36/164.31 U32(x0, mark(x1)) 460.36/164.31 U32(active(x0), x1) 460.36/164.31 U32(x0, active(x1)) 460.36/164.31 U33(mark(x0)) 460.36/164.31 U33(active(x0)) 460.36/164.31 U41(mark(x0), x1, x2) 460.36/164.31 U41(x0, mark(x1), x2) 460.36/164.31 U41(x0, x1, mark(x2)) 460.36/164.31 U41(active(x0), x1, x2) 460.36/164.31 U41(x0, active(x1), x2) 460.36/164.31 U41(x0, x1, active(x2)) 460.36/164.31 U42(mark(x0), x1, x2) 460.36/164.31 U42(x0, mark(x1), x2) 460.36/164.31 U42(x0, x1, mark(x2)) 460.36/164.31 U42(active(x0), x1, x2) 460.36/164.31 U42(x0, active(x1), x2) 460.36/164.31 U42(x0, x1, active(x2)) 460.36/164.31 U43(mark(x0), x1, x2) 460.36/164.31 U43(x0, mark(x1), x2) 460.36/164.31 U43(x0, x1, mark(x2)) 460.36/164.31 U43(active(x0), x1, x2) 460.36/164.31 U43(x0, active(x1), x2) 460.36/164.31 U43(x0, x1, active(x2)) 460.36/164.31 U44(mark(x0), x1, x2) 460.36/164.31 U44(x0, mark(x1), x2) 460.36/164.31 U44(x0, x1, mark(x2)) 460.36/164.31 U44(active(x0), x1, x2) 460.36/164.31 U44(x0, active(x1), x2) 460.36/164.31 U44(x0, x1, active(x2)) 460.36/164.31 U45(mark(x0), x1) 460.36/164.31 U45(x0, mark(x1)) 460.36/164.31 U45(active(x0), x1) 460.36/164.31 U45(x0, active(x1)) 460.36/164.31 U46(mark(x0)) 460.36/164.31 U46(active(x0)) 460.36/164.31 isNatIList(mark(x0)) 460.36/164.31 isNatIList(active(x0)) 460.36/164.31 U51(mark(x0), x1) 460.36/164.31 U51(x0, mark(x1)) 460.36/164.31 U51(active(x0), x1) 460.36/164.31 U51(x0, active(x1)) 460.36/164.31 U52(mark(x0)) 460.36/164.31 U52(active(x0)) 460.36/164.31 U61(mark(x0)) 460.36/164.31 U61(active(x0)) 460.36/164.31 U71(mark(x0)) 460.36/164.31 U71(active(x0)) 460.36/164.31 U81(mark(x0), x1, x2) 460.36/164.31 U81(x0, mark(x1), x2) 460.36/164.31 U81(x0, x1, mark(x2)) 460.36/164.31 U81(active(x0), x1, x2) 460.36/164.31 U81(x0, active(x1), x2) 460.36/164.31 U81(x0, x1, active(x2)) 460.36/164.31 U82(mark(x0), x1, x2) 460.36/164.31 U82(x0, mark(x1), x2) 460.36/164.31 U82(x0, x1, mark(x2)) 460.36/164.31 U82(active(x0), x1, x2) 460.36/164.31 U82(x0, active(x1), x2) 460.36/164.31 U82(x0, x1, active(x2)) 460.36/164.31 U83(mark(x0), x1, x2) 460.36/164.31 U83(x0, mark(x1), x2) 460.36/164.31 U83(x0, x1, mark(x2)) 460.36/164.31 U83(active(x0), x1, x2) 460.36/164.31 U83(x0, active(x1), x2) 460.36/164.31 U83(x0, x1, active(x2)) 460.36/164.31 U84(mark(x0), x1, x2) 460.36/164.31 U84(x0, mark(x1), x2) 460.36/164.31 U84(x0, x1, mark(x2)) 460.36/164.31 U84(active(x0), x1, x2) 460.36/164.31 U84(x0, active(x1), x2) 460.36/164.31 U84(x0, x1, active(x2)) 460.36/164.31 U85(mark(x0), x1) 460.36/164.31 U85(x0, mark(x1)) 460.36/164.31 U85(active(x0), x1) 460.36/164.31 U85(x0, active(x1)) 460.36/164.31 U86(mark(x0)) 460.36/164.31 U86(active(x0)) 460.36/164.31 U91(mark(x0), x1, x2) 460.36/164.31 U91(x0, mark(x1), x2) 460.36/164.31 U91(x0, x1, mark(x2)) 460.36/164.31 U91(active(x0), x1, x2) 460.36/164.31 U91(x0, active(x1), x2) 460.36/164.31 U91(x0, x1, active(x2)) 460.36/164.31 U92(mark(x0), x1, x2) 460.36/164.31 U92(x0, mark(x1), x2) 460.36/164.31 U92(x0, x1, mark(x2)) 460.36/164.31 U92(active(x0), x1, x2) 460.36/164.31 U92(x0, active(x1), x2) 460.36/164.31 U92(x0, x1, active(x2)) 460.36/164.31 U93(mark(x0), x1, x2) 460.36/164.31 U93(x0, mark(x1), x2) 460.36/164.31 U93(x0, x1, mark(x2)) 460.36/164.31 U93(active(x0), x1, x2) 460.36/164.31 U93(x0, active(x1), x2) 460.36/164.31 U93(x0, x1, active(x2)) 460.36/164.31 U94(mark(x0), x1) 460.36/164.31 U94(x0, mark(x1)) 460.36/164.31 U94(active(x0), x1) 460.36/164.31 U94(x0, active(x1)) 460.36/164.31 s(mark(x0)) 460.36/164.31 s(active(x0)) 460.36/164.31 length(mark(x0)) 460.36/164.31 length(active(x0)) 460.36/164.31 460.36/164.31 We have to consider all minimal (P,Q,R)-chains. 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (347) QDPOrderProof (EQUIVALENT) 460.36/164.31 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.31 460.36/164.31 460.36/164.31 The following pairs can be oriented strictly and are deleted. 460.36/164.31 460.36/164.31 MARK(U43(X1, X2, X3)) -> ACTIVE(U43(mark(X1), X2, X3)) 460.36/164.31 The remaining pairs can at least be oriented weakly. 460.36/164.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.31 460.36/164.31 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.31 POL( U43_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 460.36/164.31 POL( U44_3(x_1, ..., x_3) ) = 1 460.36/164.31 POL( U45_2(x_1, x_2) ) = 1 460.36/164.31 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.31 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U82_3(x_1, ..., x_3) ) = 1 460.36/164.31 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.31 POL( mark_1(x_1) ) = 0 460.36/164.31 POL( zeros ) = 0 460.36/164.31 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( cons_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.31 POL( 0 ) = 0 460.36/164.31 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.31 POL( tt ) = 0 460.36/164.31 POL( U12_2(x_1, x_2) ) = 2x_1 + 2 460.36/164.31 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.31 POL( U13_1(x_1) ) = 0 460.36/164.31 POL( isNatList_1(x_1) ) = 0 460.36/164.31 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U22_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.31 POL( isNatKind_1(x_1) ) = 2x_1 460.36/164.31 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( isNat_1(x_1) ) = 0 460.36/164.31 POL( U31_2(x_1, x_2) ) = 2 460.36/164.31 POL( U32_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.31 POL( U33_1(x_1) ) = 2 460.36/164.31 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U42_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 460.36/164.31 POL( U46_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( isNatIList_1(x_1) ) = 0 460.36/164.31 POL( U52_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( U86_1(x_1) ) = 2x_1 + 1 460.36/164.31 POL( U91_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 2} 460.36/164.31 POL( U92_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 2} 460.36/164.31 POL( U93_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 460.36/164.31 POL( U94_2(x_1, x_2) ) = 2x_2 + 2 460.36/164.31 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( length_1(x_1) ) = 2 460.36/164.31 POL( U61_1(x_1) ) = 2 460.36/164.31 POL( U71_1(x_1) ) = 2 460.36/164.31 POL( nil ) = 0 460.36/164.31 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.36/164.31 460.36/164.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.31 none 460.36/164.31 460.36/164.31 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (348) 460.36/164.31 Obligation: 460.36/164.31 Q DP problem: 460.36/164.31 The TRS P consists of the following rules: 460.36/164.31 460.36/164.31 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.31 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.31 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.31 MARK(U46(X)) -> MARK(X) 460.36/164.31 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.31 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.31 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.31 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.31 MARK(U52(X)) -> MARK(X) 460.36/164.31 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.31 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.31 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.31 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.31 MARK(U86(X)) -> MARK(X) 460.36/164.31 460.36/164.31 The TRS R consists of the following rules: 460.36/164.31 460.36/164.31 mark(zeros) -> active(zeros) 460.36/164.31 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.31 active(zeros) -> mark(cons(0, zeros)) 460.36/164.31 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.31 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.31 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.31 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.31 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.31 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.31 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.31 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.31 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.31 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.31 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.31 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.31 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.31 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.31 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.31 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.31 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.31 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.31 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.31 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.31 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.31 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.31 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.31 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.31 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.31 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.31 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.31 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.31 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.31 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.31 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.31 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.31 mark(s(X)) -> active(s(mark(X))) 460.36/164.31 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.31 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.31 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.31 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.31 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.31 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.31 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.31 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.31 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.31 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.31 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.31 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.31 mark(0) -> active(0) 460.36/164.31 mark(tt) -> active(tt) 460.36/164.31 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.31 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.31 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.31 mark(isNat(X)) -> active(isNat(X)) 460.36/164.31 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.31 mark(length(X)) -> active(length(mark(X))) 460.36/164.31 mark(nil) -> active(nil) 460.36/164.31 length(active(X)) -> length(X) 460.36/164.31 length(mark(X)) -> length(X) 460.36/164.31 active(U13(tt)) -> mark(tt) 460.36/164.31 active(U23(tt)) -> mark(tt) 460.36/164.31 active(U33(tt)) -> mark(tt) 460.36/164.31 active(U46(tt)) -> mark(tt) 460.36/164.31 active(U52(tt)) -> mark(tt) 460.36/164.31 active(U61(tt)) -> mark(tt) 460.36/164.31 active(U71(tt)) -> mark(tt) 460.36/164.31 active(U86(tt)) -> mark(tt) 460.36/164.31 active(isNat(0)) -> mark(tt) 460.36/164.31 active(isNatIList(zeros)) -> mark(tt) 460.36/164.31 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.31 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.31 active(isNatKind(0)) -> mark(tt) 460.36/164.31 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.31 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.31 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.31 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.31 U13(active(X)) -> U13(X) 460.36/164.31 U13(mark(X)) -> U13(X) 460.36/164.31 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.31 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.31 U23(active(X)) -> U23(X) 460.36/164.31 U23(mark(X)) -> U23(X) 460.36/164.31 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.31 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.31 U33(active(X)) -> U33(X) 460.36/164.31 U33(mark(X)) -> U33(X) 460.36/164.31 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.31 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.31 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.31 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U46(active(X)) -> U46(X) 460.36/164.31 U46(mark(X)) -> U46(X) 460.36/164.31 U52(active(X)) -> U52(X) 460.36/164.31 U52(mark(X)) -> U52(X) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 U86(active(X)) -> U86(X) 460.36/164.31 U86(mark(X)) -> U86(X) 460.36/164.31 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.31 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.31 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.31 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.31 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.31 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.31 s(active(X)) -> s(X) 460.36/164.31 s(mark(X)) -> s(X) 460.36/164.31 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.31 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.31 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.31 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.31 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.31 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.31 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.31 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U61(active(X)) -> U61(X) 460.36/164.31 U61(mark(X)) -> U61(X) 460.36/164.31 U71(active(X)) -> U71(X) 460.36/164.31 U71(mark(X)) -> U71(X) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.31 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.31 460.36/164.31 The set Q consists of the following terms: 460.36/164.31 460.36/164.31 active(zeros) 460.36/164.31 active(U11(tt, x0)) 460.36/164.31 active(U12(tt, x0)) 460.36/164.31 active(U13(tt)) 460.36/164.31 active(U21(tt, x0)) 460.36/164.31 active(U22(tt, x0)) 460.36/164.31 active(U23(tt)) 460.36/164.31 active(U31(tt, x0)) 460.36/164.31 active(U32(tt, x0)) 460.36/164.31 active(U33(tt)) 460.36/164.31 active(U41(tt, x0, x1)) 460.36/164.31 active(U42(tt, x0, x1)) 460.36/164.31 active(U43(tt, x0, x1)) 460.36/164.31 active(U44(tt, x0, x1)) 460.36/164.31 active(U45(tt, x0)) 460.36/164.31 active(U46(tt)) 460.36/164.31 active(U51(tt, x0)) 460.36/164.31 active(U52(tt)) 460.36/164.31 active(U61(tt)) 460.36/164.31 active(U71(tt)) 460.36/164.31 active(U81(tt, x0, x1)) 460.36/164.31 active(U82(tt, x0, x1)) 460.36/164.31 active(U83(tt, x0, x1)) 460.36/164.31 active(U84(tt, x0, x1)) 460.36/164.31 active(U85(tt, x0)) 460.36/164.31 active(U86(tt)) 460.36/164.31 active(U91(tt, x0, x1)) 460.36/164.31 active(U92(tt, x0, x1)) 460.36/164.31 active(U93(tt, x0, x1)) 460.36/164.31 active(U94(tt, x0)) 460.36/164.31 active(isNat(0)) 460.36/164.31 active(isNat(length(x0))) 460.36/164.31 active(isNat(s(x0))) 460.36/164.31 active(isNatIList(x0)) 460.36/164.31 active(isNatIListKind(nil)) 460.36/164.31 active(isNatIListKind(zeros)) 460.36/164.31 active(isNatIListKind(cons(x0, x1))) 460.36/164.31 active(isNatKind(0)) 460.36/164.31 active(isNatKind(length(x0))) 460.36/164.31 active(isNatKind(s(x0))) 460.36/164.31 active(isNatList(nil)) 460.36/164.31 active(isNatList(cons(x0, x1))) 460.36/164.31 active(length(nil)) 460.36/164.31 active(length(cons(x0, x1))) 460.36/164.31 mark(zeros) 460.36/164.31 mark(cons(x0, x1)) 460.36/164.31 mark(0) 460.36/164.31 mark(U11(x0, x1)) 460.36/164.31 mark(tt) 460.36/164.31 mark(U12(x0, x1)) 460.36/164.31 mark(isNatIListKind(x0)) 460.36/164.31 mark(U13(x0)) 460.36/164.31 mark(isNatList(x0)) 460.36/164.31 mark(U21(x0, x1)) 460.36/164.31 mark(U22(x0, x1)) 460.36/164.31 mark(isNatKind(x0)) 460.36/164.31 mark(U23(x0)) 460.36/164.31 mark(isNat(x0)) 460.36/164.31 mark(U31(x0, x1)) 460.36/164.31 mark(U32(x0, x1)) 460.36/164.31 mark(U33(x0)) 460.36/164.31 mark(U41(x0, x1, x2)) 460.36/164.31 mark(U42(x0, x1, x2)) 460.36/164.31 mark(U43(x0, x1, x2)) 460.36/164.31 mark(U44(x0, x1, x2)) 460.36/164.31 mark(U45(x0, x1)) 460.36/164.31 mark(U46(x0)) 460.36/164.31 mark(isNatIList(x0)) 460.36/164.31 mark(U51(x0, x1)) 460.36/164.31 mark(U52(x0)) 460.36/164.31 mark(U61(x0)) 460.36/164.31 mark(U71(x0)) 460.36/164.31 mark(U81(x0, x1, x2)) 460.36/164.31 mark(U82(x0, x1, x2)) 460.36/164.31 mark(U83(x0, x1, x2)) 460.36/164.31 mark(U84(x0, x1, x2)) 460.36/164.31 mark(U85(x0, x1)) 460.36/164.31 mark(U86(x0)) 460.36/164.31 mark(U91(x0, x1, x2)) 460.36/164.31 mark(U92(x0, x1, x2)) 460.36/164.31 mark(U93(x0, x1, x2)) 460.36/164.31 mark(U94(x0, x1)) 460.36/164.31 mark(s(x0)) 460.36/164.31 mark(length(x0)) 460.36/164.31 mark(nil) 460.36/164.31 cons(mark(x0), x1) 460.36/164.31 cons(x0, mark(x1)) 460.36/164.31 cons(active(x0), x1) 460.36/164.31 cons(x0, active(x1)) 460.36/164.31 U11(mark(x0), x1) 460.36/164.31 U11(x0, mark(x1)) 460.36/164.31 U11(active(x0), x1) 460.36/164.31 U11(x0, active(x1)) 460.36/164.31 U12(mark(x0), x1) 460.36/164.31 U12(x0, mark(x1)) 460.36/164.31 U12(active(x0), x1) 460.36/164.31 U12(x0, active(x1)) 460.36/164.31 isNatIListKind(mark(x0)) 460.36/164.31 isNatIListKind(active(x0)) 460.36/164.31 U13(mark(x0)) 460.36/164.31 U13(active(x0)) 460.36/164.31 isNatList(mark(x0)) 460.36/164.31 isNatList(active(x0)) 460.36/164.31 U21(mark(x0), x1) 460.36/164.31 U21(x0, mark(x1)) 460.36/164.31 U21(active(x0), x1) 460.36/164.31 U21(x0, active(x1)) 460.36/164.31 U22(mark(x0), x1) 460.36/164.31 U22(x0, mark(x1)) 460.36/164.31 U22(active(x0), x1) 460.36/164.31 U22(x0, active(x1)) 460.36/164.31 isNatKind(mark(x0)) 460.36/164.31 isNatKind(active(x0)) 460.36/164.31 U23(mark(x0)) 460.36/164.31 U23(active(x0)) 460.36/164.31 isNat(mark(x0)) 460.36/164.31 isNat(active(x0)) 460.36/164.31 U31(mark(x0), x1) 460.36/164.31 U31(x0, mark(x1)) 460.36/164.31 U31(active(x0), x1) 460.36/164.31 U31(x0, active(x1)) 460.36/164.31 U32(mark(x0), x1) 460.36/164.31 U32(x0, mark(x1)) 460.36/164.31 U32(active(x0), x1) 460.36/164.31 U32(x0, active(x1)) 460.36/164.31 U33(mark(x0)) 460.36/164.31 U33(active(x0)) 460.36/164.31 U41(mark(x0), x1, x2) 460.36/164.31 U41(x0, mark(x1), x2) 460.36/164.31 U41(x0, x1, mark(x2)) 460.36/164.31 U41(active(x0), x1, x2) 460.36/164.31 U41(x0, active(x1), x2) 460.36/164.31 U41(x0, x1, active(x2)) 460.36/164.31 U42(mark(x0), x1, x2) 460.36/164.31 U42(x0, mark(x1), x2) 460.36/164.31 U42(x0, x1, mark(x2)) 460.36/164.31 U42(active(x0), x1, x2) 460.36/164.31 U42(x0, active(x1), x2) 460.36/164.31 U42(x0, x1, active(x2)) 460.36/164.31 U43(mark(x0), x1, x2) 460.36/164.31 U43(x0, mark(x1), x2) 460.36/164.31 U43(x0, x1, mark(x2)) 460.36/164.31 U43(active(x0), x1, x2) 460.36/164.31 U43(x0, active(x1), x2) 460.36/164.31 U43(x0, x1, active(x2)) 460.36/164.31 U44(mark(x0), x1, x2) 460.36/164.31 U44(x0, mark(x1), x2) 460.36/164.31 U44(x0, x1, mark(x2)) 460.36/164.31 U44(active(x0), x1, x2) 460.36/164.31 U44(x0, active(x1), x2) 460.36/164.31 U44(x0, x1, active(x2)) 460.36/164.31 U45(mark(x0), x1) 460.36/164.31 U45(x0, mark(x1)) 460.36/164.31 U45(active(x0), x1) 460.36/164.31 U45(x0, active(x1)) 460.36/164.31 U46(mark(x0)) 460.36/164.31 U46(active(x0)) 460.36/164.31 isNatIList(mark(x0)) 460.36/164.31 isNatIList(active(x0)) 460.36/164.31 U51(mark(x0), x1) 460.36/164.31 U51(x0, mark(x1)) 460.36/164.31 U51(active(x0), x1) 460.36/164.31 U51(x0, active(x1)) 460.36/164.31 U52(mark(x0)) 460.36/164.31 U52(active(x0)) 460.36/164.31 U61(mark(x0)) 460.36/164.31 U61(active(x0)) 460.36/164.31 U71(mark(x0)) 460.36/164.31 U71(active(x0)) 460.36/164.31 U81(mark(x0), x1, x2) 460.36/164.31 U81(x0, mark(x1), x2) 460.36/164.31 U81(x0, x1, mark(x2)) 460.36/164.31 U81(active(x0), x1, x2) 460.36/164.31 U81(x0, active(x1), x2) 460.36/164.31 U81(x0, x1, active(x2)) 460.36/164.31 U82(mark(x0), x1, x2) 460.36/164.31 U82(x0, mark(x1), x2) 460.36/164.31 U82(x0, x1, mark(x2)) 460.36/164.31 U82(active(x0), x1, x2) 460.36/164.31 U82(x0, active(x1), x2) 460.36/164.31 U82(x0, x1, active(x2)) 460.36/164.31 U83(mark(x0), x1, x2) 460.36/164.31 U83(x0, mark(x1), x2) 460.36/164.31 U83(x0, x1, mark(x2)) 460.36/164.31 U83(active(x0), x1, x2) 460.36/164.31 U83(x0, active(x1), x2) 460.36/164.31 U83(x0, x1, active(x2)) 460.36/164.31 U84(mark(x0), x1, x2) 460.36/164.31 U84(x0, mark(x1), x2) 460.36/164.31 U84(x0, x1, mark(x2)) 460.36/164.31 U84(active(x0), x1, x2) 460.36/164.31 U84(x0, active(x1), x2) 460.36/164.31 U84(x0, x1, active(x2)) 460.36/164.31 U85(mark(x0), x1) 460.36/164.31 U85(x0, mark(x1)) 460.36/164.31 U85(active(x0), x1) 460.36/164.31 U85(x0, active(x1)) 460.36/164.31 U86(mark(x0)) 460.36/164.31 U86(active(x0)) 460.36/164.31 U91(mark(x0), x1, x2) 460.36/164.31 U91(x0, mark(x1), x2) 460.36/164.31 U91(x0, x1, mark(x2)) 460.36/164.31 U91(active(x0), x1, x2) 460.36/164.31 U91(x0, active(x1), x2) 460.36/164.31 U91(x0, x1, active(x2)) 460.36/164.31 U92(mark(x0), x1, x2) 460.36/164.31 U92(x0, mark(x1), x2) 460.36/164.31 U92(x0, x1, mark(x2)) 460.36/164.31 U92(active(x0), x1, x2) 460.36/164.31 U92(x0, active(x1), x2) 460.36/164.31 U92(x0, x1, active(x2)) 460.36/164.31 U93(mark(x0), x1, x2) 460.36/164.31 U93(x0, mark(x1), x2) 460.36/164.31 U93(x0, x1, mark(x2)) 460.36/164.31 U93(active(x0), x1, x2) 460.36/164.31 U93(x0, active(x1), x2) 460.36/164.31 U93(x0, x1, active(x2)) 460.36/164.31 U94(mark(x0), x1) 460.36/164.31 U94(x0, mark(x1)) 460.36/164.31 U94(active(x0), x1) 460.36/164.31 U94(x0, active(x1)) 460.36/164.31 s(mark(x0)) 460.36/164.31 s(active(x0)) 460.36/164.31 length(mark(x0)) 460.36/164.31 length(active(x0)) 460.36/164.31 460.36/164.31 We have to consider all minimal (P,Q,R)-chains. 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (349) QDPOrderProof (EQUIVALENT) 460.36/164.31 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.31 460.36/164.31 460.36/164.31 The following pairs can be oriented strictly and are deleted. 460.36/164.31 460.36/164.31 ACTIVE(U43(tt, V1, V2)) -> MARK(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 The remaining pairs can at least be oriented weakly. 460.36/164.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.31 460.36/164.31 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 460.36/164.31 POL( U44_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U45_2(x_1, x_2) ) = 2 460.36/164.31 POL( U51_2(x_1, x_2) ) = 2 460.36/164.31 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U83_3(x_1, ..., x_3) ) = 0 460.36/164.31 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.31 POL( U85_2(x_1, x_2) ) = 2 460.36/164.31 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.31 POL( zeros ) = 0 460.36/164.31 POL( active_1(x_1) ) = 2 460.36/164.31 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.31 POL( 0 ) = 0 460.36/164.31 POL( U11_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.31 POL( tt ) = 2 460.36/164.31 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.36/164.31 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.31 POL( U13_1(x_1) ) = x_1 + 1 460.36/164.31 POL( isNatList_1(x_1) ) = 0 460.36/164.31 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U22_2(x_1, x_2) ) = max{0, x_1 + x_2 - 1} 460.36/164.31 POL( isNatKind_1(x_1) ) = 0 460.36/164.31 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( isNat_1(x_1) ) = 0 460.36/164.31 POL( U31_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.31 POL( U32_2(x_1, x_2) ) = 0 460.36/164.31 POL( U33_1(x_1) ) = 2 460.36/164.31 POL( U41_3(x_1, ..., x_3) ) = x_3 + 2 460.36/164.31 POL( U42_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U43_3(x_1, ..., x_3) ) = max{0, 2x_1 - 1} 460.36/164.31 POL( U46_1(x_1) ) = 2 460.36/164.31 POL( isNatIList_1(x_1) ) = 0 460.36/164.31 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U86_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( U91_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 460.36/164.31 POL( U92_3(x_1, ..., x_3) ) = 2 460.36/164.31 POL( U93_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 460.36/164.31 POL( U94_2(x_1, x_2) ) = x_2 + 2 460.36/164.31 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.31 POL( length_1(x_1) ) = 0 460.36/164.31 POL( U61_1(x_1) ) = 2 460.36/164.31 POL( U71_1(x_1) ) = max{0, -2} 460.36/164.31 POL( nil ) = 0 460.36/164.31 POL( MARK_1(x_1) ) = max{0, -2} 460.36/164.31 460.36/164.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.31 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 460.36/164.31 460.36/164.31 ---------------------------------------- 460.36/164.31 460.36/164.31 (350) 460.36/164.31 Obligation: 460.36/164.31 Q DP problem: 460.36/164.31 The TRS P consists of the following rules: 460.36/164.31 460.36/164.31 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.31 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.31 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.31 MARK(U46(X)) -> MARK(X) 460.36/164.31 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.31 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.31 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.31 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.31 MARK(U52(X)) -> MARK(X) 460.36/164.31 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.31 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.31 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.31 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.31 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.31 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.31 MARK(U86(X)) -> MARK(X) 460.36/164.31 460.36/164.31 The TRS R consists of the following rules: 460.36/164.31 460.36/164.31 mark(zeros) -> active(zeros) 460.36/164.31 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.31 active(zeros) -> mark(cons(0, zeros)) 460.36/164.31 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.31 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.31 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.31 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.31 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.31 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.31 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.31 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.31 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.31 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.31 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.31 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.31 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.31 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.31 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.31 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.31 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.31 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.31 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.31 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.31 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.31 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.31 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.31 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.31 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.31 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.31 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.31 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.31 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.31 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.31 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.31 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.31 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.31 mark(s(X)) -> active(s(mark(X))) 460.36/164.31 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.31 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.31 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.31 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.31 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.31 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.31 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.31 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.31 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.31 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.31 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.31 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.31 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.31 mark(0) -> active(0) 460.36/164.31 mark(tt) -> active(tt) 460.36/164.31 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.31 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.31 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.31 mark(isNat(X)) -> active(isNat(X)) 460.36/164.31 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.31 mark(length(X)) -> active(length(mark(X))) 460.36/164.31 mark(nil) -> active(nil) 460.36/164.31 length(active(X)) -> length(X) 460.36/164.31 length(mark(X)) -> length(X) 460.36/164.31 active(U13(tt)) -> mark(tt) 460.36/164.31 active(U23(tt)) -> mark(tt) 460.36/164.31 active(U33(tt)) -> mark(tt) 460.36/164.31 active(U46(tt)) -> mark(tt) 460.36/164.31 active(U52(tt)) -> mark(tt) 460.36/164.31 active(U61(tt)) -> mark(tt) 460.36/164.31 active(U71(tt)) -> mark(tt) 460.36/164.31 active(U86(tt)) -> mark(tt) 460.36/164.31 active(isNat(0)) -> mark(tt) 460.36/164.31 active(isNatIList(zeros)) -> mark(tt) 460.36/164.31 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.31 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.31 active(isNatKind(0)) -> mark(tt) 460.36/164.31 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.31 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.31 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.31 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.31 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.31 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.31 U13(active(X)) -> U13(X) 460.36/164.31 U13(mark(X)) -> U13(X) 460.36/164.31 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.31 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.31 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.31 U23(active(X)) -> U23(X) 460.36/164.31 U23(mark(X)) -> U23(X) 460.36/164.31 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.31 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.31 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.31 U33(active(X)) -> U33(X) 460.36/164.31 U33(mark(X)) -> U33(X) 460.36/164.31 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.31 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.31 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.31 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.31 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.31 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.31 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.31 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.31 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.31 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.31 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.31 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.31 U46(active(X)) -> U46(X) 460.36/164.31 U46(mark(X)) -> U46(X) 460.36/164.31 U52(active(X)) -> U52(X) 460.36/164.31 U52(mark(X)) -> U52(X) 460.36/164.31 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.31 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.31 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.31 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.31 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.31 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.31 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.31 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.31 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.31 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.31 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.31 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.31 U86(active(X)) -> U86(X) 460.36/164.31 U86(mark(X)) -> U86(X) 460.36/164.31 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.31 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.31 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.31 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.31 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.31 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.31 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.31 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.31 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.31 s(active(X)) -> s(X) 460.36/164.31 s(mark(X)) -> s(X) 460.36/164.31 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.31 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.31 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.31 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.31 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.31 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.31 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.31 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.31 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.31 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.31 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.31 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.31 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.31 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.31 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.31 U61(active(X)) -> U61(X) 460.36/164.31 U61(mark(X)) -> U61(X) 460.36/164.31 U71(active(X)) -> U71(X) 460.36/164.31 U71(mark(X)) -> U71(X) 460.36/164.31 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.31 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.31 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.31 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.31 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.31 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.31 460.36/164.31 The set Q consists of the following terms: 460.36/164.31 460.36/164.31 active(zeros) 460.36/164.31 active(U11(tt, x0)) 460.36/164.31 active(U12(tt, x0)) 460.36/164.31 active(U13(tt)) 460.36/164.31 active(U21(tt, x0)) 460.36/164.31 active(U22(tt, x0)) 460.36/164.31 active(U23(tt)) 460.36/164.31 active(U31(tt, x0)) 460.36/164.31 active(U32(tt, x0)) 460.36/164.31 active(U33(tt)) 460.36/164.31 active(U41(tt, x0, x1)) 460.36/164.31 active(U42(tt, x0, x1)) 460.36/164.31 active(U43(tt, x0, x1)) 460.36/164.31 active(U44(tt, x0, x1)) 460.36/164.31 active(U45(tt, x0)) 460.36/164.31 active(U46(tt)) 460.36/164.31 active(U51(tt, x0)) 460.36/164.31 active(U52(tt)) 460.36/164.31 active(U61(tt)) 460.36/164.31 active(U71(tt)) 460.36/164.31 active(U81(tt, x0, x1)) 460.36/164.31 active(U82(tt, x0, x1)) 460.36/164.31 active(U83(tt, x0, x1)) 460.36/164.31 active(U84(tt, x0, x1)) 460.36/164.31 active(U85(tt, x0)) 460.36/164.31 active(U86(tt)) 460.36/164.31 active(U91(tt, x0, x1)) 460.36/164.31 active(U92(tt, x0, x1)) 460.36/164.31 active(U93(tt, x0, x1)) 460.36/164.31 active(U94(tt, x0)) 460.36/164.31 active(isNat(0)) 460.36/164.31 active(isNat(length(x0))) 460.36/164.31 active(isNat(s(x0))) 460.36/164.31 active(isNatIList(x0)) 460.36/164.31 active(isNatIListKind(nil)) 460.36/164.31 active(isNatIListKind(zeros)) 460.36/164.31 active(isNatIListKind(cons(x0, x1))) 460.36/164.31 active(isNatKind(0)) 460.36/164.32 active(isNatKind(length(x0))) 460.36/164.32 active(isNatKind(s(x0))) 460.36/164.32 active(isNatList(nil)) 460.36/164.32 active(isNatList(cons(x0, x1))) 460.36/164.32 active(length(nil)) 460.36/164.32 active(length(cons(x0, x1))) 460.36/164.32 mark(zeros) 460.36/164.32 mark(cons(x0, x1)) 460.36/164.32 mark(0) 460.36/164.32 mark(U11(x0, x1)) 460.36/164.32 mark(tt) 460.36/164.32 mark(U12(x0, x1)) 460.36/164.32 mark(isNatIListKind(x0)) 460.36/164.32 mark(U13(x0)) 460.36/164.32 mark(isNatList(x0)) 460.36/164.32 mark(U21(x0, x1)) 460.36/164.32 mark(U22(x0, x1)) 460.36/164.32 mark(isNatKind(x0)) 460.36/164.32 mark(U23(x0)) 460.36/164.32 mark(isNat(x0)) 460.36/164.32 mark(U31(x0, x1)) 460.36/164.32 mark(U32(x0, x1)) 460.36/164.32 mark(U33(x0)) 460.36/164.32 mark(U41(x0, x1, x2)) 460.36/164.32 mark(U42(x0, x1, x2)) 460.36/164.32 mark(U43(x0, x1, x2)) 460.36/164.32 mark(U44(x0, x1, x2)) 460.36/164.32 mark(U45(x0, x1)) 460.36/164.32 mark(U46(x0)) 460.36/164.32 mark(isNatIList(x0)) 460.36/164.32 mark(U51(x0, x1)) 460.36/164.32 mark(U52(x0)) 460.36/164.32 mark(U61(x0)) 460.36/164.32 mark(U71(x0)) 460.36/164.32 mark(U81(x0, x1, x2)) 460.36/164.32 mark(U82(x0, x1, x2)) 460.36/164.32 mark(U83(x0, x1, x2)) 460.36/164.32 mark(U84(x0, x1, x2)) 460.36/164.32 mark(U85(x0, x1)) 460.36/164.32 mark(U86(x0)) 460.36/164.32 mark(U91(x0, x1, x2)) 460.36/164.32 mark(U92(x0, x1, x2)) 460.36/164.32 mark(U93(x0, x1, x2)) 460.36/164.32 mark(U94(x0, x1)) 460.36/164.32 mark(s(x0)) 460.36/164.32 mark(length(x0)) 460.36/164.32 mark(nil) 460.36/164.32 cons(mark(x0), x1) 460.36/164.32 cons(x0, mark(x1)) 460.36/164.32 cons(active(x0), x1) 460.36/164.32 cons(x0, active(x1)) 460.36/164.32 U11(mark(x0), x1) 460.36/164.32 U11(x0, mark(x1)) 460.36/164.32 U11(active(x0), x1) 460.36/164.32 U11(x0, active(x1)) 460.36/164.32 U12(mark(x0), x1) 460.36/164.32 U12(x0, mark(x1)) 460.36/164.32 U12(active(x0), x1) 460.36/164.32 U12(x0, active(x1)) 460.36/164.32 isNatIListKind(mark(x0)) 460.36/164.32 isNatIListKind(active(x0)) 460.36/164.32 U13(mark(x0)) 460.36/164.32 U13(active(x0)) 460.36/164.32 isNatList(mark(x0)) 460.36/164.32 isNatList(active(x0)) 460.36/164.32 U21(mark(x0), x1) 460.36/164.32 U21(x0, mark(x1)) 460.36/164.32 U21(active(x0), x1) 460.36/164.32 U21(x0, active(x1)) 460.36/164.32 U22(mark(x0), x1) 460.36/164.32 U22(x0, mark(x1)) 460.36/164.32 U22(active(x0), x1) 460.36/164.32 U22(x0, active(x1)) 460.36/164.32 isNatKind(mark(x0)) 460.36/164.32 isNatKind(active(x0)) 460.36/164.32 U23(mark(x0)) 460.36/164.32 U23(active(x0)) 460.36/164.32 isNat(mark(x0)) 460.36/164.32 isNat(active(x0)) 460.36/164.32 U31(mark(x0), x1) 460.36/164.32 U31(x0, mark(x1)) 460.36/164.32 U31(active(x0), x1) 460.36/164.32 U31(x0, active(x1)) 460.36/164.32 U32(mark(x0), x1) 460.36/164.32 U32(x0, mark(x1)) 460.36/164.32 U32(active(x0), x1) 460.36/164.32 U32(x0, active(x1)) 460.36/164.32 U33(mark(x0)) 460.36/164.32 U33(active(x0)) 460.36/164.32 U41(mark(x0), x1, x2) 460.36/164.32 U41(x0, mark(x1), x2) 460.36/164.32 U41(x0, x1, mark(x2)) 460.36/164.32 U41(active(x0), x1, x2) 460.36/164.32 U41(x0, active(x1), x2) 460.36/164.32 U41(x0, x1, active(x2)) 460.36/164.32 U42(mark(x0), x1, x2) 460.36/164.32 U42(x0, mark(x1), x2) 460.36/164.32 U42(x0, x1, mark(x2)) 460.36/164.32 U42(active(x0), x1, x2) 460.36/164.32 U42(x0, active(x1), x2) 460.36/164.32 U42(x0, x1, active(x2)) 460.36/164.32 U43(mark(x0), x1, x2) 460.36/164.32 U43(x0, mark(x1), x2) 460.36/164.32 U43(x0, x1, mark(x2)) 460.36/164.32 U43(active(x0), x1, x2) 460.36/164.32 U43(x0, active(x1), x2) 460.36/164.32 U43(x0, x1, active(x2)) 460.36/164.32 U44(mark(x0), x1, x2) 460.36/164.32 U44(x0, mark(x1), x2) 460.36/164.32 U44(x0, x1, mark(x2)) 460.36/164.32 U44(active(x0), x1, x2) 460.36/164.32 U44(x0, active(x1), x2) 460.36/164.32 U44(x0, x1, active(x2)) 460.36/164.32 U45(mark(x0), x1) 460.36/164.32 U45(x0, mark(x1)) 460.36/164.32 U45(active(x0), x1) 460.36/164.32 U45(x0, active(x1)) 460.36/164.32 U46(mark(x0)) 460.36/164.32 U46(active(x0)) 460.36/164.32 isNatIList(mark(x0)) 460.36/164.32 isNatIList(active(x0)) 460.36/164.32 U51(mark(x0), x1) 460.36/164.32 U51(x0, mark(x1)) 460.36/164.32 U51(active(x0), x1) 460.36/164.32 U51(x0, active(x1)) 460.36/164.32 U52(mark(x0)) 460.36/164.32 U52(active(x0)) 460.36/164.32 U61(mark(x0)) 460.36/164.32 U61(active(x0)) 460.36/164.32 U71(mark(x0)) 460.36/164.32 U71(active(x0)) 460.36/164.32 U81(mark(x0), x1, x2) 460.36/164.32 U81(x0, mark(x1), x2) 460.36/164.32 U81(x0, x1, mark(x2)) 460.36/164.32 U81(active(x0), x1, x2) 460.36/164.32 U81(x0, active(x1), x2) 460.36/164.32 U81(x0, x1, active(x2)) 460.36/164.32 U82(mark(x0), x1, x2) 460.36/164.32 U82(x0, mark(x1), x2) 460.36/164.32 U82(x0, x1, mark(x2)) 460.36/164.32 U82(active(x0), x1, x2) 460.36/164.32 U82(x0, active(x1), x2) 460.36/164.32 U82(x0, x1, active(x2)) 460.36/164.32 U83(mark(x0), x1, x2) 460.36/164.32 U83(x0, mark(x1), x2) 460.36/164.32 U83(x0, x1, mark(x2)) 460.36/164.32 U83(active(x0), x1, x2) 460.36/164.32 U83(x0, active(x1), x2) 460.36/164.32 U83(x0, x1, active(x2)) 460.36/164.32 U84(mark(x0), x1, x2) 460.36/164.32 U84(x0, mark(x1), x2) 460.36/164.32 U84(x0, x1, mark(x2)) 460.36/164.32 U84(active(x0), x1, x2) 460.36/164.32 U84(x0, active(x1), x2) 460.36/164.32 U84(x0, x1, active(x2)) 460.36/164.32 U85(mark(x0), x1) 460.36/164.32 U85(x0, mark(x1)) 460.36/164.32 U85(active(x0), x1) 460.36/164.32 U85(x0, active(x1)) 460.36/164.32 U86(mark(x0)) 460.36/164.32 U86(active(x0)) 460.36/164.32 U91(mark(x0), x1, x2) 460.36/164.32 U91(x0, mark(x1), x2) 460.36/164.32 U91(x0, x1, mark(x2)) 460.36/164.32 U91(active(x0), x1, x2) 460.36/164.32 U91(x0, active(x1), x2) 460.36/164.32 U91(x0, x1, active(x2)) 460.36/164.32 U92(mark(x0), x1, x2) 460.36/164.32 U92(x0, mark(x1), x2) 460.36/164.32 U92(x0, x1, mark(x2)) 460.36/164.32 U92(active(x0), x1, x2) 460.36/164.32 U92(x0, active(x1), x2) 460.36/164.32 U92(x0, x1, active(x2)) 460.36/164.32 U93(mark(x0), x1, x2) 460.36/164.32 U93(x0, mark(x1), x2) 460.36/164.32 U93(x0, x1, mark(x2)) 460.36/164.32 U93(active(x0), x1, x2) 460.36/164.32 U93(x0, active(x1), x2) 460.36/164.32 U93(x0, x1, active(x2)) 460.36/164.32 U94(mark(x0), x1) 460.36/164.32 U94(x0, mark(x1)) 460.36/164.32 U94(active(x0), x1) 460.36/164.32 U94(x0, active(x1)) 460.36/164.32 s(mark(x0)) 460.36/164.32 s(active(x0)) 460.36/164.32 length(mark(x0)) 460.36/164.32 length(active(x0)) 460.36/164.32 460.36/164.32 We have to consider all minimal (P,Q,R)-chains. 460.36/164.32 ---------------------------------------- 460.36/164.32 460.36/164.32 (351) QDPOrderProof (EQUIVALENT) 460.36/164.32 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.32 460.36/164.32 460.36/164.32 The following pairs can be oriented strictly and are deleted. 460.36/164.32 460.36/164.32 MARK(U44(X1, X2, X3)) -> ACTIVE(U44(mark(X1), X2, X3)) 460.36/164.32 The remaining pairs can at least be oriented weakly. 460.36/164.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.32 460.36/164.32 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.36/164.32 POL( U44_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.36/164.32 POL( U45_2(x_1, x_2) ) = max{0, -2} 460.36/164.32 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.36/164.32 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.32 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.32 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.32 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.36/164.32 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.36/164.32 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.32 POL( zeros ) = 0 460.36/164.32 POL( active_1(x_1) ) = 2x_1 + 2 460.36/164.32 POL( cons_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.32 POL( 0 ) = 0 460.36/164.32 POL( U11_2(x_1, x_2) ) = 2x_1 + x_2 + 2 460.36/164.32 POL( tt ) = 0 460.36/164.32 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.32 POL( isNatIListKind_1(x_1) ) = 0 460.36/164.32 POL( U13_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( isNatList_1(x_1) ) = 0 460.36/164.32 POL( U21_2(x_1, x_2) ) = 2x_1 + x_2 + 1 460.36/164.32 POL( U22_2(x_1, x_2) ) = max{0, x_1 - 1} 460.36/164.32 POL( isNatKind_1(x_1) ) = 0 460.36/164.32 POL( U23_1(x_1) ) = max{0, -2} 460.36/164.32 POL( isNat_1(x_1) ) = 2 460.36/164.32 POL( U31_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.32 POL( U32_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.36/164.32 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.32 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U42_3(x_1, ..., x_3) ) = x_1 + 2x_2 + 2x_3 460.36/164.32 POL( U43_3(x_1, ..., x_3) ) = x_2 + x_3 460.36/164.32 POL( U46_1(x_1) ) = x_1 460.36/164.32 POL( isNatIList_1(x_1) ) = 0 460.36/164.32 POL( U52_1(x_1) ) = x_1 460.36/164.32 POL( U86_1(x_1) ) = x_1 460.36/164.32 POL( U91_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 460.36/164.32 POL( U92_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 460.36/164.32 POL( U93_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.32 POL( U94_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.32 POL( s_1(x_1) ) = 2 460.36/164.32 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( U61_1(x_1) ) = 2 460.36/164.32 POL( U71_1(x_1) ) = 0 460.36/164.32 POL( nil ) = 2 460.36/164.32 POL( MARK_1(x_1) ) = x_1 460.36/164.32 460.36/164.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.32 none 460.36/164.32 460.36/164.32 460.36/164.32 ---------------------------------------- 460.36/164.32 460.36/164.32 (352) 460.36/164.32 Obligation: 460.36/164.32 Q DP problem: 460.36/164.32 The TRS P consists of the following rules: 460.36/164.32 460.36/164.32 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.32 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.32 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.32 MARK(U46(X)) -> MARK(X) 460.36/164.32 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.32 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.32 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.32 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.32 MARK(U52(X)) -> MARK(X) 460.36/164.32 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.32 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.32 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.32 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.32 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.32 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.32 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.32 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.32 MARK(U86(X)) -> MARK(X) 460.36/164.32 460.36/164.32 The TRS R consists of the following rules: 460.36/164.32 460.36/164.32 mark(zeros) -> active(zeros) 460.36/164.32 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.32 active(zeros) -> mark(cons(0, zeros)) 460.36/164.32 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.32 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.32 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.32 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.32 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.32 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.32 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.32 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.32 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.32 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.32 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.32 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.32 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.32 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.32 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.32 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.32 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.32 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.32 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.32 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.32 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.32 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.32 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.32 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.32 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.32 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.32 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.32 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.32 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.32 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.32 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.32 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.32 mark(s(X)) -> active(s(mark(X))) 460.36/164.32 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.32 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.32 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.32 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.32 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.32 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.32 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.32 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.32 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.32 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.32 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.32 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.32 mark(0) -> active(0) 460.36/164.32 mark(tt) -> active(tt) 460.36/164.32 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.32 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.32 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.32 mark(isNat(X)) -> active(isNat(X)) 460.36/164.32 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.32 mark(length(X)) -> active(length(mark(X))) 460.36/164.32 mark(nil) -> active(nil) 460.36/164.32 length(active(X)) -> length(X) 460.36/164.32 length(mark(X)) -> length(X) 460.36/164.32 active(U13(tt)) -> mark(tt) 460.36/164.32 active(U23(tt)) -> mark(tt) 460.36/164.32 active(U33(tt)) -> mark(tt) 460.36/164.32 active(U46(tt)) -> mark(tt) 460.36/164.32 active(U52(tt)) -> mark(tt) 460.36/164.32 active(U61(tt)) -> mark(tt) 460.36/164.32 active(U71(tt)) -> mark(tt) 460.36/164.32 active(U86(tt)) -> mark(tt) 460.36/164.32 active(isNat(0)) -> mark(tt) 460.36/164.32 active(isNatIList(zeros)) -> mark(tt) 460.36/164.32 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.32 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.32 active(isNatKind(0)) -> mark(tt) 460.36/164.32 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.32 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.32 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.32 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.32 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.32 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.32 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.32 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.32 U13(active(X)) -> U13(X) 460.36/164.32 U13(mark(X)) -> U13(X) 460.36/164.32 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.32 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.32 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.32 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.32 U23(active(X)) -> U23(X) 460.36/164.32 U23(mark(X)) -> U23(X) 460.36/164.32 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.32 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.32 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.32 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.32 U33(active(X)) -> U33(X) 460.36/164.32 U33(mark(X)) -> U33(X) 460.36/164.32 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.32 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.32 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.32 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.32 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.32 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.32 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.32 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.32 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.32 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.32 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.32 U46(active(X)) -> U46(X) 460.36/164.32 U46(mark(X)) -> U46(X) 460.36/164.32 U52(active(X)) -> U52(X) 460.36/164.32 U52(mark(X)) -> U52(X) 460.36/164.32 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.32 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.32 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.32 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.32 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.32 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.32 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.32 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.32 U86(active(X)) -> U86(X) 460.36/164.32 U86(mark(X)) -> U86(X) 460.36/164.32 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.32 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.32 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.32 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.32 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.32 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.32 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.32 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.32 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.32 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.32 s(active(X)) -> s(X) 460.36/164.32 s(mark(X)) -> s(X) 460.36/164.32 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.32 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.32 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.32 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.32 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.32 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.32 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.32 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.32 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.32 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.32 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.32 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.32 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.32 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.32 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.32 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.32 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.32 U61(active(X)) -> U61(X) 460.36/164.32 U61(mark(X)) -> U61(X) 460.36/164.32 U71(active(X)) -> U71(X) 460.36/164.32 U71(mark(X)) -> U71(X) 460.36/164.32 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.32 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.32 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.32 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.32 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.32 460.36/164.32 The set Q consists of the following terms: 460.36/164.32 460.36/164.32 active(zeros) 460.36/164.32 active(U11(tt, x0)) 460.36/164.32 active(U12(tt, x0)) 460.36/164.32 active(U13(tt)) 460.36/164.32 active(U21(tt, x0)) 460.36/164.32 active(U22(tt, x0)) 460.36/164.32 active(U23(tt)) 460.36/164.32 active(U31(tt, x0)) 460.36/164.32 active(U32(tt, x0)) 460.36/164.32 active(U33(tt)) 460.36/164.32 active(U41(tt, x0, x1)) 460.36/164.32 active(U42(tt, x0, x1)) 460.36/164.32 active(U43(tt, x0, x1)) 460.36/164.32 active(U44(tt, x0, x1)) 460.36/164.32 active(U45(tt, x0)) 460.36/164.32 active(U46(tt)) 460.36/164.32 active(U51(tt, x0)) 460.36/164.32 active(U52(tt)) 460.36/164.32 active(U61(tt)) 460.36/164.32 active(U71(tt)) 460.36/164.32 active(U81(tt, x0, x1)) 460.36/164.32 active(U82(tt, x0, x1)) 460.36/164.32 active(U83(tt, x0, x1)) 460.36/164.32 active(U84(tt, x0, x1)) 460.36/164.32 active(U85(tt, x0)) 460.36/164.32 active(U86(tt)) 460.36/164.32 active(U91(tt, x0, x1)) 460.36/164.32 active(U92(tt, x0, x1)) 460.36/164.32 active(U93(tt, x0, x1)) 460.36/164.32 active(U94(tt, x0)) 460.36/164.32 active(isNat(0)) 460.36/164.32 active(isNat(length(x0))) 460.36/164.32 active(isNat(s(x0))) 460.36/164.32 active(isNatIList(x0)) 460.36/164.32 active(isNatIListKind(nil)) 460.36/164.32 active(isNatIListKind(zeros)) 460.36/164.32 active(isNatIListKind(cons(x0, x1))) 460.36/164.32 active(isNatKind(0)) 460.36/164.32 active(isNatKind(length(x0))) 460.36/164.32 active(isNatKind(s(x0))) 460.36/164.32 active(isNatList(nil)) 460.36/164.32 active(isNatList(cons(x0, x1))) 460.36/164.32 active(length(nil)) 460.36/164.32 active(length(cons(x0, x1))) 460.36/164.32 mark(zeros) 460.36/164.32 mark(cons(x0, x1)) 460.36/164.32 mark(0) 460.36/164.32 mark(U11(x0, x1)) 460.36/164.32 mark(tt) 460.36/164.32 mark(U12(x0, x1)) 460.36/164.32 mark(isNatIListKind(x0)) 460.36/164.32 mark(U13(x0)) 460.36/164.32 mark(isNatList(x0)) 460.36/164.32 mark(U21(x0, x1)) 460.36/164.32 mark(U22(x0, x1)) 460.36/164.32 mark(isNatKind(x0)) 460.36/164.32 mark(U23(x0)) 460.36/164.32 mark(isNat(x0)) 460.36/164.32 mark(U31(x0, x1)) 460.36/164.32 mark(U32(x0, x1)) 460.36/164.32 mark(U33(x0)) 460.36/164.32 mark(U41(x0, x1, x2)) 460.36/164.32 mark(U42(x0, x1, x2)) 460.36/164.32 mark(U43(x0, x1, x2)) 460.36/164.32 mark(U44(x0, x1, x2)) 460.36/164.32 mark(U45(x0, x1)) 460.36/164.32 mark(U46(x0)) 460.36/164.32 mark(isNatIList(x0)) 460.36/164.32 mark(U51(x0, x1)) 460.36/164.32 mark(U52(x0)) 460.36/164.32 mark(U61(x0)) 460.36/164.32 mark(U71(x0)) 460.36/164.32 mark(U81(x0, x1, x2)) 460.36/164.32 mark(U82(x0, x1, x2)) 460.36/164.32 mark(U83(x0, x1, x2)) 460.36/164.32 mark(U84(x0, x1, x2)) 460.36/164.32 mark(U85(x0, x1)) 460.36/164.32 mark(U86(x0)) 460.36/164.32 mark(U91(x0, x1, x2)) 460.36/164.32 mark(U92(x0, x1, x2)) 460.36/164.32 mark(U93(x0, x1, x2)) 460.36/164.32 mark(U94(x0, x1)) 460.36/164.32 mark(s(x0)) 460.36/164.32 mark(length(x0)) 460.36/164.32 mark(nil) 460.36/164.32 cons(mark(x0), x1) 460.36/164.32 cons(x0, mark(x1)) 460.36/164.32 cons(active(x0), x1) 460.36/164.32 cons(x0, active(x1)) 460.36/164.32 U11(mark(x0), x1) 460.36/164.32 U11(x0, mark(x1)) 460.36/164.32 U11(active(x0), x1) 460.36/164.32 U11(x0, active(x1)) 460.36/164.32 U12(mark(x0), x1) 460.36/164.32 U12(x0, mark(x1)) 460.36/164.32 U12(active(x0), x1) 460.36/164.32 U12(x0, active(x1)) 460.36/164.32 isNatIListKind(mark(x0)) 460.36/164.32 isNatIListKind(active(x0)) 460.36/164.32 U13(mark(x0)) 460.36/164.32 U13(active(x0)) 460.36/164.32 isNatList(mark(x0)) 460.36/164.32 isNatList(active(x0)) 460.36/164.32 U21(mark(x0), x1) 460.36/164.32 U21(x0, mark(x1)) 460.36/164.32 U21(active(x0), x1) 460.36/164.32 U21(x0, active(x1)) 460.36/164.32 U22(mark(x0), x1) 460.36/164.32 U22(x0, mark(x1)) 460.36/164.32 U22(active(x0), x1) 460.36/164.32 U22(x0, active(x1)) 460.36/164.32 isNatKind(mark(x0)) 460.36/164.32 isNatKind(active(x0)) 460.36/164.32 U23(mark(x0)) 460.36/164.32 U23(active(x0)) 460.36/164.32 isNat(mark(x0)) 460.36/164.32 isNat(active(x0)) 460.36/164.32 U31(mark(x0), x1) 460.36/164.32 U31(x0, mark(x1)) 460.36/164.32 U31(active(x0), x1) 460.36/164.32 U31(x0, active(x1)) 460.36/164.32 U32(mark(x0), x1) 460.36/164.32 U32(x0, mark(x1)) 460.36/164.32 U32(active(x0), x1) 460.36/164.32 U32(x0, active(x1)) 460.36/164.32 U33(mark(x0)) 460.36/164.32 U33(active(x0)) 460.36/164.32 U41(mark(x0), x1, x2) 460.36/164.32 U41(x0, mark(x1), x2) 460.36/164.32 U41(x0, x1, mark(x2)) 460.36/164.32 U41(active(x0), x1, x2) 460.36/164.32 U41(x0, active(x1), x2) 460.36/164.32 U41(x0, x1, active(x2)) 460.36/164.32 U42(mark(x0), x1, x2) 460.36/164.32 U42(x0, mark(x1), x2) 460.36/164.32 U42(x0, x1, mark(x2)) 460.36/164.32 U42(active(x0), x1, x2) 460.36/164.32 U42(x0, active(x1), x2) 460.36/164.32 U42(x0, x1, active(x2)) 460.36/164.32 U43(mark(x0), x1, x2) 460.36/164.32 U43(x0, mark(x1), x2) 460.36/164.32 U43(x0, x1, mark(x2)) 460.36/164.32 U43(active(x0), x1, x2) 460.36/164.32 U43(x0, active(x1), x2) 460.36/164.32 U43(x0, x1, active(x2)) 460.36/164.32 U44(mark(x0), x1, x2) 460.36/164.32 U44(x0, mark(x1), x2) 460.36/164.32 U44(x0, x1, mark(x2)) 460.36/164.32 U44(active(x0), x1, x2) 460.36/164.32 U44(x0, active(x1), x2) 460.36/164.32 U44(x0, x1, active(x2)) 460.36/164.32 U45(mark(x0), x1) 460.36/164.32 U45(x0, mark(x1)) 460.36/164.32 U45(active(x0), x1) 460.36/164.32 U45(x0, active(x1)) 460.36/164.32 U46(mark(x0)) 460.36/164.32 U46(active(x0)) 460.36/164.32 isNatIList(mark(x0)) 460.36/164.32 isNatIList(active(x0)) 460.36/164.32 U51(mark(x0), x1) 460.36/164.32 U51(x0, mark(x1)) 460.36/164.32 U51(active(x0), x1) 460.36/164.32 U51(x0, active(x1)) 460.36/164.32 U52(mark(x0)) 460.36/164.32 U52(active(x0)) 460.36/164.32 U61(mark(x0)) 460.36/164.32 U61(active(x0)) 460.36/164.32 U71(mark(x0)) 460.36/164.32 U71(active(x0)) 460.36/164.32 U81(mark(x0), x1, x2) 460.36/164.32 U81(x0, mark(x1), x2) 460.36/164.32 U81(x0, x1, mark(x2)) 460.36/164.32 U81(active(x0), x1, x2) 460.36/164.32 U81(x0, active(x1), x2) 460.36/164.32 U81(x0, x1, active(x2)) 460.36/164.32 U82(mark(x0), x1, x2) 460.36/164.32 U82(x0, mark(x1), x2) 460.36/164.32 U82(x0, x1, mark(x2)) 460.36/164.32 U82(active(x0), x1, x2) 460.36/164.32 U82(x0, active(x1), x2) 460.36/164.32 U82(x0, x1, active(x2)) 460.36/164.32 U83(mark(x0), x1, x2) 460.36/164.32 U83(x0, mark(x1), x2) 460.36/164.32 U83(x0, x1, mark(x2)) 460.36/164.32 U83(active(x0), x1, x2) 460.36/164.32 U83(x0, active(x1), x2) 460.36/164.32 U83(x0, x1, active(x2)) 460.36/164.32 U84(mark(x0), x1, x2) 460.36/164.32 U84(x0, mark(x1), x2) 460.36/164.32 U84(x0, x1, mark(x2)) 460.36/164.32 U84(active(x0), x1, x2) 460.36/164.32 U84(x0, active(x1), x2) 460.36/164.32 U84(x0, x1, active(x2)) 460.36/164.32 U85(mark(x0), x1) 460.36/164.32 U85(x0, mark(x1)) 460.36/164.32 U85(active(x0), x1) 460.36/164.32 U85(x0, active(x1)) 460.36/164.32 U86(mark(x0)) 460.36/164.32 U86(active(x0)) 460.36/164.32 U91(mark(x0), x1, x2) 460.36/164.32 U91(x0, mark(x1), x2) 460.36/164.32 U91(x0, x1, mark(x2)) 460.36/164.32 U91(active(x0), x1, x2) 460.36/164.32 U91(x0, active(x1), x2) 460.36/164.32 U91(x0, x1, active(x2)) 460.36/164.32 U92(mark(x0), x1, x2) 460.36/164.32 U92(x0, mark(x1), x2) 460.36/164.32 U92(x0, x1, mark(x2)) 460.36/164.32 U92(active(x0), x1, x2) 460.36/164.32 U92(x0, active(x1), x2) 460.36/164.32 U92(x0, x1, active(x2)) 460.36/164.32 U93(mark(x0), x1, x2) 460.36/164.32 U93(x0, mark(x1), x2) 460.36/164.32 U93(x0, x1, mark(x2)) 460.36/164.32 U93(active(x0), x1, x2) 460.36/164.32 U93(x0, active(x1), x2) 460.36/164.32 U93(x0, x1, active(x2)) 460.36/164.32 U94(mark(x0), x1) 460.36/164.32 U94(x0, mark(x1)) 460.36/164.32 U94(active(x0), x1) 460.36/164.32 U94(x0, active(x1)) 460.36/164.32 s(mark(x0)) 460.36/164.32 s(active(x0)) 460.36/164.32 length(mark(x0)) 460.36/164.32 length(active(x0)) 460.36/164.32 460.36/164.32 We have to consider all minimal (P,Q,R)-chains. 460.36/164.32 ---------------------------------------- 460.36/164.32 460.36/164.32 (353) QDPOrderProof (EQUIVALENT) 460.36/164.32 We use the reduction pair processor [LPAR04,JAR06]. 460.36/164.32 460.36/164.32 460.36/164.32 The following pairs can be oriented strictly and are deleted. 460.36/164.32 460.36/164.32 ACTIVE(U44(tt, V1, V2)) -> MARK(U45(isNat(V1), V2)) 460.36/164.32 The remaining pairs can at least be oriented weakly. 460.36/164.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.36/164.32 460.36/164.32 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( U45_2(x_1, x_2) ) = 2 460.36/164.32 POL( U51_2(x_1, x_2) ) = 2 460.36/164.32 POL( U81_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U82_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U83_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U84_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U85_2(x_1, x_2) ) = 2 460.36/164.32 POL( mark_1(x_1) ) = max{0, -2} 460.36/164.32 POL( zeros ) = 2 460.36/164.32 POL( active_1(x_1) ) = 2x_1 + 2 460.36/164.32 POL( cons_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.32 POL( 0 ) = 0 460.36/164.32 POL( U11_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.32 POL( tt ) = 2 460.36/164.32 POL( U12_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.32 POL( isNatIListKind_1(x_1) ) = 2 460.36/164.32 POL( U13_1(x_1) ) = max{0, -2} 460.36/164.32 POL( isNatList_1(x_1) ) = 2 460.36/164.32 POL( U21_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} 460.36/164.32 POL( U22_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.36/164.32 POL( isNatKind_1(x_1) ) = 0 460.36/164.32 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( isNat_1(x_1) ) = x_1 460.36/164.32 POL( U31_2(x_1, x_2) ) = max{0, x_2 - 2} 460.36/164.32 POL( U32_2(x_1, x_2) ) = max{0, x_1 - 2} 460.36/164.32 POL( U33_1(x_1) ) = max{0, -2} 460.36/164.32 POL( U41_3(x_1, ..., x_3) ) = 2 460.36/164.32 POL( U42_3(x_1, ..., x_3) ) = max{0, x_1 - 1} 460.36/164.32 POL( U43_3(x_1, ..., x_3) ) = x_1 + x_2 + 2 460.36/164.32 POL( U44_3(x_1, ..., x_3) ) = 2x_1 + 2 460.36/164.32 POL( U46_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( isNatIList_1(x_1) ) = x_1 460.36/164.32 POL( U52_1(x_1) ) = 0 460.36/164.32 POL( U86_1(x_1) ) = max{0, -2} 460.36/164.32 POL( U91_3(x_1, ..., x_3) ) = max{0, x_2 + 2x_3 - 2} 460.36/164.32 POL( U92_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 460.36/164.32 POL( U93_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} 460.36/164.32 POL( U94_2(x_1, x_2) ) = 2 460.36/164.32 POL( s_1(x_1) ) = max{0, -2} 460.36/164.32 POL( length_1(x_1) ) = max{0, 2x_1 - 2} 460.36/164.32 POL( U61_1(x_1) ) = 2 460.36/164.32 POL( U71_1(x_1) ) = 2 460.36/164.32 POL( nil ) = 0 460.36/164.32 POL( MARK_1(x_1) ) = 2 460.36/164.32 460.36/164.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.36/164.32 460.36/164.32 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.32 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.32 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.32 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.32 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.32 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.32 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.32 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.32 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.32 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.32 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.32 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.32 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.32 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.32 460.36/164.32 460.36/164.32 ---------------------------------------- 460.36/164.32 460.36/164.32 (354) 460.36/164.32 Obligation: 460.36/164.32 Q DP problem: 460.36/164.32 The TRS P consists of the following rules: 460.36/164.32 460.36/164.32 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.36/164.32 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.36/164.32 MARK(U46(X)) -> MARK(X) 460.36/164.32 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.36/164.32 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.36/164.32 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.36/164.32 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.36/164.32 MARK(U52(X)) -> MARK(X) 460.36/164.32 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.36/164.32 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.36/164.32 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.36/164.32 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.36/164.32 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.36/164.32 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.36/164.32 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.36/164.32 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.36/164.32 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.36/164.32 MARK(U86(X)) -> MARK(X) 460.36/164.32 460.36/164.32 The TRS R consists of the following rules: 460.36/164.32 460.36/164.32 mark(zeros) -> active(zeros) 460.36/164.32 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.36/164.32 active(zeros) -> mark(cons(0, zeros)) 460.36/164.32 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.36/164.32 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.36/164.32 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.36/164.32 mark(U13(X)) -> active(U13(mark(X))) 460.36/164.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.36/164.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.36/164.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.36/164.32 mark(U23(X)) -> active(U23(mark(X))) 460.36/164.32 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.36/164.32 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.36/164.32 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.36/164.32 mark(U33(X)) -> active(U33(mark(X))) 460.36/164.32 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.36/164.32 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.36/164.32 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.36/164.32 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.36/164.32 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.36/164.32 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.36/164.32 mark(U46(X)) -> active(U46(mark(X))) 460.36/164.32 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.36/164.32 mark(U52(X)) -> active(U52(mark(X))) 460.36/164.32 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.36/164.32 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.36/164.32 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.36/164.32 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.36/164.32 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.36/164.32 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.36/164.32 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.36/164.32 mark(U86(X)) -> active(U86(mark(X))) 460.36/164.32 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.36/164.32 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.36/164.32 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.36/164.32 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.36/164.32 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.36/164.32 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.36/164.32 active(U94(tt, L)) -> mark(s(length(L))) 460.36/164.32 mark(s(X)) -> active(s(mark(X))) 460.36/164.32 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.36/164.32 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.36/164.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.36/164.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.36/164.32 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.36/164.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.36/164.32 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.36/164.32 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.36/164.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.36/164.32 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.36/164.32 mark(U61(X)) -> active(U61(mark(X))) 460.36/164.32 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.36/164.32 mark(U71(X)) -> active(U71(mark(X))) 460.36/164.32 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.36/164.32 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.36/164.32 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.36/164.32 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.36/164.32 mark(0) -> active(0) 460.36/164.32 mark(tt) -> active(tt) 460.36/164.32 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.36/164.32 mark(isNatList(X)) -> active(isNatList(X)) 460.36/164.32 mark(isNatKind(X)) -> active(isNatKind(X)) 460.36/164.32 mark(isNat(X)) -> active(isNat(X)) 460.36/164.32 mark(isNatIList(X)) -> active(isNatIList(X)) 460.36/164.32 mark(length(X)) -> active(length(mark(X))) 460.36/164.32 mark(nil) -> active(nil) 460.36/164.32 length(active(X)) -> length(X) 460.36/164.32 length(mark(X)) -> length(X) 460.36/164.32 active(U13(tt)) -> mark(tt) 460.36/164.32 active(U23(tt)) -> mark(tt) 460.36/164.32 active(U33(tt)) -> mark(tt) 460.36/164.32 active(U46(tt)) -> mark(tt) 460.36/164.32 active(U52(tt)) -> mark(tt) 460.36/164.32 active(U61(tt)) -> mark(tt) 460.36/164.32 active(U71(tt)) -> mark(tt) 460.36/164.32 active(U86(tt)) -> mark(tt) 460.36/164.32 active(isNat(0)) -> mark(tt) 460.36/164.32 active(isNatIList(zeros)) -> mark(tt) 460.36/164.32 active(isNatIListKind(nil)) -> mark(tt) 460.36/164.32 active(isNatIListKind(zeros)) -> mark(tt) 460.36/164.32 active(isNatKind(0)) -> mark(tt) 460.36/164.32 cons(X1, mark(X2)) -> cons(X1, X2) 460.36/164.32 cons(mark(X1), X2) -> cons(X1, X2) 460.36/164.32 cons(active(X1), X2) -> cons(X1, X2) 460.36/164.32 cons(X1, active(X2)) -> cons(X1, X2) 460.36/164.32 U12(X1, mark(X2)) -> U12(X1, X2) 460.36/164.32 U12(mark(X1), X2) -> U12(X1, X2) 460.36/164.32 U12(active(X1), X2) -> U12(X1, X2) 460.36/164.32 U12(X1, active(X2)) -> U12(X1, X2) 460.36/164.32 U13(active(X)) -> U13(X) 460.36/164.32 U13(mark(X)) -> U13(X) 460.36/164.32 U22(X1, mark(X2)) -> U22(X1, X2) 460.36/164.32 U22(mark(X1), X2) -> U22(X1, X2) 460.36/164.32 U22(active(X1), X2) -> U22(X1, X2) 460.36/164.32 U22(X1, active(X2)) -> U22(X1, X2) 460.36/164.32 U23(active(X)) -> U23(X) 460.36/164.32 U23(mark(X)) -> U23(X) 460.36/164.32 U32(X1, mark(X2)) -> U32(X1, X2) 460.36/164.32 U32(mark(X1), X2) -> U32(X1, X2) 460.36/164.32 U32(active(X1), X2) -> U32(X1, X2) 460.36/164.32 U32(X1, active(X2)) -> U32(X1, X2) 460.36/164.32 U33(active(X)) -> U33(X) 460.36/164.32 U33(mark(X)) -> U33(X) 460.36/164.32 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.36/164.32 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.36/164.32 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.36/164.32 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.36/164.32 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.36/164.32 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.36/164.32 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.36/164.32 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.36/164.32 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.36/164.32 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.36/164.32 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.36/164.32 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.36/164.32 U45(X1, mark(X2)) -> U45(X1, X2) 460.36/164.32 U45(mark(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(active(X1), X2) -> U45(X1, X2) 460.36/164.32 U45(X1, active(X2)) -> U45(X1, X2) 460.36/164.32 U46(active(X)) -> U46(X) 460.36/164.32 U46(mark(X)) -> U46(X) 460.36/164.32 U52(active(X)) -> U52(X) 460.36/164.32 U52(mark(X)) -> U52(X) 460.36/164.32 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.36/164.32 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.36/164.32 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.36/164.32 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.36/164.32 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.36/164.32 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.36/164.32 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.36/164.32 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.36/164.32 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.36/164.32 U85(X1, mark(X2)) -> U85(X1, X2) 460.36/164.32 U85(mark(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(active(X1), X2) -> U85(X1, X2) 460.36/164.32 U85(X1, active(X2)) -> U85(X1, X2) 460.36/164.32 U86(active(X)) -> U86(X) 460.36/164.32 U86(mark(X)) -> U86(X) 460.36/164.32 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.36/164.32 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.36/164.32 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.36/164.32 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.36/164.32 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.36/164.32 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.36/164.32 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.36/164.32 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.36/164.32 U94(X1, mark(X2)) -> U94(X1, X2) 460.36/164.32 U94(mark(X1), X2) -> U94(X1, X2) 460.36/164.32 U94(active(X1), X2) -> U94(X1, X2) 460.36/164.32 U94(X1, active(X2)) -> U94(X1, X2) 460.36/164.32 s(active(X)) -> s(X) 460.36/164.32 s(mark(X)) -> s(X) 460.36/164.32 U11(X1, mark(X2)) -> U11(X1, X2) 460.36/164.32 U11(mark(X1), X2) -> U11(X1, X2) 460.36/164.32 U11(active(X1), X2) -> U11(X1, X2) 460.36/164.32 U11(X1, active(X2)) -> U11(X1, X2) 460.36/164.32 U21(X1, mark(X2)) -> U21(X1, X2) 460.36/164.32 U21(mark(X1), X2) -> U21(X1, X2) 460.36/164.32 U21(active(X1), X2) -> U21(X1, X2) 460.36/164.32 U21(X1, active(X2)) -> U21(X1, X2) 460.36/164.32 U31(X1, mark(X2)) -> U31(X1, X2) 460.36/164.32 U31(mark(X1), X2) -> U31(X1, X2) 460.36/164.32 U31(active(X1), X2) -> U31(X1, X2) 460.36/164.32 U31(X1, active(X2)) -> U31(X1, X2) 460.36/164.32 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.36/164.32 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.36/164.32 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.36/164.32 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.36/164.32 U51(X1, mark(X2)) -> U51(X1, X2) 460.36/164.32 U51(mark(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(active(X1), X2) -> U51(X1, X2) 460.36/164.32 U51(X1, active(X2)) -> U51(X1, X2) 460.36/164.32 U61(active(X)) -> U61(X) 460.36/164.32 U61(mark(X)) -> U61(X) 460.36/164.32 U71(active(X)) -> U71(X) 460.36/164.32 U71(mark(X)) -> U71(X) 460.36/164.32 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.36/164.32 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.36/164.32 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.36/164.32 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.36/164.32 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.36/164.32 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.36/164.32 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.36/164.32 460.36/164.32 The set Q consists of the following terms: 460.36/164.32 460.36/164.32 active(zeros) 460.36/164.32 active(U11(tt, x0)) 460.36/164.32 active(U12(tt, x0)) 460.36/164.32 active(U13(tt)) 460.36/164.32 active(U21(tt, x0)) 460.36/164.32 active(U22(tt, x0)) 460.36/164.32 active(U23(tt)) 460.36/164.32 active(U31(tt, x0)) 460.36/164.32 active(U32(tt, x0)) 460.36/164.32 active(U33(tt)) 460.36/164.32 active(U41(tt, x0, x1)) 460.36/164.32 active(U42(tt, x0, x1)) 460.36/164.32 active(U43(tt, x0, x1)) 460.36/164.32 active(U44(tt, x0, x1)) 460.36/164.32 active(U45(tt, x0)) 460.36/164.32 active(U46(tt)) 460.36/164.32 active(U51(tt, x0)) 460.36/164.32 active(U52(tt)) 460.36/164.32 active(U61(tt)) 460.36/164.32 active(U71(tt)) 460.36/164.32 active(U81(tt, x0, x1)) 460.36/164.32 active(U82(tt, x0, x1)) 460.36/164.32 active(U83(tt, x0, x1)) 460.36/164.32 active(U84(tt, x0, x1)) 460.36/164.32 active(U85(tt, x0)) 460.36/164.32 active(U86(tt)) 460.36/164.32 active(U91(tt, x0, x1)) 460.36/164.32 active(U92(tt, x0, x1)) 460.36/164.32 active(U93(tt, x0, x1)) 460.36/164.32 active(U94(tt, x0)) 460.36/164.32 active(isNat(0)) 460.36/164.32 active(isNat(length(x0))) 460.36/164.32 active(isNat(s(x0))) 460.36/164.32 active(isNatIList(x0)) 460.36/164.32 active(isNatIListKind(nil)) 460.36/164.32 active(isNatIListKind(zeros)) 460.36/164.32 active(isNatIListKind(cons(x0, x1))) 460.36/164.32 active(isNatKind(0)) 460.36/164.32 active(isNatKind(length(x0))) 460.36/164.32 active(isNatKind(s(x0))) 460.36/164.32 active(isNatList(nil)) 460.36/164.32 active(isNatList(cons(x0, x1))) 460.36/164.32 active(length(nil)) 460.36/164.32 active(length(cons(x0, x1))) 460.36/164.32 mark(zeros) 460.36/164.32 mark(cons(x0, x1)) 460.36/164.32 mark(0) 460.36/164.32 mark(U11(x0, x1)) 460.36/164.32 mark(tt) 460.36/164.32 mark(U12(x0, x1)) 460.36/164.32 mark(isNatIListKind(x0)) 460.36/164.32 mark(U13(x0)) 460.36/164.32 mark(isNatList(x0)) 460.36/164.32 mark(U21(x0, x1)) 460.36/164.32 mark(U22(x0, x1)) 460.36/164.32 mark(isNatKind(x0)) 460.36/164.32 mark(U23(x0)) 460.36/164.32 mark(isNat(x0)) 460.36/164.32 mark(U31(x0, x1)) 460.36/164.32 mark(U32(x0, x1)) 460.36/164.32 mark(U33(x0)) 460.36/164.32 mark(U41(x0, x1, x2)) 460.36/164.32 mark(U42(x0, x1, x2)) 460.36/164.32 mark(U43(x0, x1, x2)) 460.36/164.32 mark(U44(x0, x1, x2)) 460.36/164.32 mark(U45(x0, x1)) 460.36/164.32 mark(U46(x0)) 460.36/164.32 mark(isNatIList(x0)) 460.36/164.32 mark(U51(x0, x1)) 460.36/164.32 mark(U52(x0)) 460.36/164.32 mark(U61(x0)) 460.36/164.32 mark(U71(x0)) 460.36/164.32 mark(U81(x0, x1, x2)) 460.36/164.32 mark(U82(x0, x1, x2)) 460.36/164.32 mark(U83(x0, x1, x2)) 460.36/164.32 mark(U84(x0, x1, x2)) 460.36/164.32 mark(U85(x0, x1)) 460.36/164.32 mark(U86(x0)) 460.36/164.32 mark(U91(x0, x1, x2)) 460.36/164.32 mark(U92(x0, x1, x2)) 460.36/164.32 mark(U93(x0, x1, x2)) 460.36/164.32 mark(U94(x0, x1)) 460.36/164.32 mark(s(x0)) 460.36/164.32 mark(length(x0)) 460.36/164.32 mark(nil) 460.36/164.32 cons(mark(x0), x1) 460.36/164.32 cons(x0, mark(x1)) 460.36/164.32 cons(active(x0), x1) 460.36/164.32 cons(x0, active(x1)) 460.36/164.32 U11(mark(x0), x1) 460.36/164.32 U11(x0, mark(x1)) 460.36/164.32 U11(active(x0), x1) 460.36/164.32 U11(x0, active(x1)) 460.36/164.32 U12(mark(x0), x1) 460.36/164.32 U12(x0, mark(x1)) 460.36/164.32 U12(active(x0), x1) 460.36/164.32 U12(x0, active(x1)) 460.36/164.32 isNatIListKind(mark(x0)) 460.36/164.32 isNatIListKind(active(x0)) 460.36/164.32 U13(mark(x0)) 460.36/164.32 U13(active(x0)) 460.36/164.32 isNatList(mark(x0)) 460.36/164.32 isNatList(active(x0)) 460.36/164.32 U21(mark(x0), x1) 460.36/164.32 U21(x0, mark(x1)) 460.36/164.32 U21(active(x0), x1) 460.36/164.32 U21(x0, active(x1)) 460.36/164.32 U22(mark(x0), x1) 460.36/164.32 U22(x0, mark(x1)) 460.36/164.32 U22(active(x0), x1) 460.36/164.32 U22(x0, active(x1)) 460.36/164.32 isNatKind(mark(x0)) 460.36/164.32 isNatKind(active(x0)) 460.36/164.32 U23(mark(x0)) 460.36/164.32 U23(active(x0)) 460.36/164.32 isNat(mark(x0)) 460.36/164.32 isNat(active(x0)) 460.36/164.32 U31(mark(x0), x1) 460.36/164.32 U31(x0, mark(x1)) 460.36/164.32 U31(active(x0), x1) 460.36/164.32 U31(x0, active(x1)) 460.36/164.32 U32(mark(x0), x1) 460.36/164.32 U32(x0, mark(x1)) 460.36/164.32 U32(active(x0), x1) 460.36/164.32 U32(x0, active(x1)) 460.36/164.32 U33(mark(x0)) 460.36/164.32 U33(active(x0)) 460.36/164.32 U41(mark(x0), x1, x2) 460.36/164.32 U41(x0, mark(x1), x2) 460.36/164.32 U41(x0, x1, mark(x2)) 460.36/164.32 U41(active(x0), x1, x2) 460.36/164.32 U41(x0, active(x1), x2) 460.36/164.32 U41(x0, x1, active(x2)) 460.36/164.32 U42(mark(x0), x1, x2) 460.36/164.32 U42(x0, mark(x1), x2) 460.36/164.32 U42(x0, x1, mark(x2)) 460.36/164.32 U42(active(x0), x1, x2) 460.36/164.32 U42(x0, active(x1), x2) 460.36/164.32 U42(x0, x1, active(x2)) 460.36/164.32 U43(mark(x0), x1, x2) 460.36/164.32 U43(x0, mark(x1), x2) 460.36/164.32 U43(x0, x1, mark(x2)) 460.36/164.32 U43(active(x0), x1, x2) 460.36/164.32 U43(x0, active(x1), x2) 460.36/164.32 U43(x0, x1, active(x2)) 460.36/164.32 U44(mark(x0), x1, x2) 460.36/164.32 U44(x0, mark(x1), x2) 460.36/164.32 U44(x0, x1, mark(x2)) 460.36/164.32 U44(active(x0), x1, x2) 460.36/164.32 U44(x0, active(x1), x2) 460.36/164.32 U44(x0, x1, active(x2)) 460.36/164.32 U45(mark(x0), x1) 460.36/164.32 U45(x0, mark(x1)) 460.36/164.32 U45(active(x0), x1) 460.36/164.32 U45(x0, active(x1)) 460.36/164.32 U46(mark(x0)) 460.36/164.32 U46(active(x0)) 460.36/164.32 isNatIList(mark(x0)) 460.36/164.32 isNatIList(active(x0)) 460.36/164.32 U51(mark(x0), x1) 460.36/164.32 U51(x0, mark(x1)) 460.36/164.32 U51(active(x0), x1) 460.36/164.32 U51(x0, active(x1)) 460.36/164.32 U52(mark(x0)) 460.36/164.32 U52(active(x0)) 460.36/164.32 U61(mark(x0)) 460.36/164.32 U61(active(x0)) 460.36/164.32 U71(mark(x0)) 460.36/164.32 U71(active(x0)) 460.36/164.32 U81(mark(x0), x1, x2) 460.36/164.32 U81(x0, mark(x1), x2) 460.36/164.32 U81(x0, x1, mark(x2)) 460.36/164.32 U81(active(x0), x1, x2) 460.36/164.32 U81(x0, active(x1), x2) 460.36/164.32 U81(x0, x1, active(x2)) 460.36/164.32 U82(mark(x0), x1, x2) 460.36/164.32 U82(x0, mark(x1), x2) 460.36/164.32 U82(x0, x1, mark(x2)) 460.36/164.32 U82(active(x0), x1, x2) 460.36/164.32 U82(x0, active(x1), x2) 460.36/164.32 U82(x0, x1, active(x2)) 460.36/164.32 U83(mark(x0), x1, x2) 460.36/164.32 U83(x0, mark(x1), x2) 460.36/164.32 U83(x0, x1, mark(x2)) 460.36/164.32 U83(active(x0), x1, x2) 460.36/164.32 U83(x0, active(x1), x2) 460.36/164.32 U83(x0, x1, active(x2)) 460.36/164.32 U84(mark(x0), x1, x2) 460.36/164.32 U84(x0, mark(x1), x2) 460.38/164.32 U84(x0, x1, mark(x2)) 460.38/164.32 U84(active(x0), x1, x2) 460.38/164.32 U84(x0, active(x1), x2) 460.38/164.32 U84(x0, x1, active(x2)) 460.38/164.32 U85(mark(x0), x1) 460.38/164.32 U85(x0, mark(x1)) 460.38/164.32 U85(active(x0), x1) 460.38/164.32 U85(x0, active(x1)) 460.38/164.32 U86(mark(x0)) 460.38/164.32 U86(active(x0)) 460.38/164.32 U91(mark(x0), x1, x2) 460.38/164.32 U91(x0, mark(x1), x2) 460.38/164.32 U91(x0, x1, mark(x2)) 460.38/164.32 U91(active(x0), x1, x2) 460.38/164.32 U91(x0, active(x1), x2) 460.38/164.32 U91(x0, x1, active(x2)) 460.38/164.32 U92(mark(x0), x1, x2) 460.38/164.32 U92(x0, mark(x1), x2) 460.38/164.32 U92(x0, x1, mark(x2)) 460.38/164.32 U92(active(x0), x1, x2) 460.38/164.32 U92(x0, active(x1), x2) 460.38/164.32 U92(x0, x1, active(x2)) 460.38/164.32 U93(mark(x0), x1, x2) 460.38/164.32 U93(x0, mark(x1), x2) 460.38/164.32 U93(x0, x1, mark(x2)) 460.38/164.32 U93(active(x0), x1, x2) 460.38/164.32 U93(x0, active(x1), x2) 460.38/164.32 U93(x0, x1, active(x2)) 460.38/164.32 U94(mark(x0), x1) 460.38/164.32 U94(x0, mark(x1)) 460.38/164.32 U94(active(x0), x1) 460.38/164.32 U94(x0, active(x1)) 460.38/164.32 s(mark(x0)) 460.38/164.32 s(active(x0)) 460.38/164.32 length(mark(x0)) 460.38/164.32 length(active(x0)) 460.38/164.32 460.38/164.32 We have to consider all minimal (P,Q,R)-chains. 460.38/164.32 ---------------------------------------- 460.38/164.32 460.38/164.32 (355) QDPOrderProof (EQUIVALENT) 460.38/164.32 We use the reduction pair processor [LPAR04,JAR06]. 460.38/164.32 460.38/164.32 460.38/164.32 The following pairs can be oriented strictly and are deleted. 460.38/164.32 460.38/164.32 MARK(U45(X1, X2)) -> ACTIVE(U45(mark(X1), X2)) 460.38/164.32 The remaining pairs can at least be oriented weakly. 460.38/164.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.38/164.32 460.38/164.32 POL( ACTIVE_1(x_1) ) = 2 460.38/164.32 POL( U45_2(x_1, x_2) ) = 1 460.38/164.32 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.38/164.32 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.38/164.32 POL( mark_1(x_1) ) = max{0, -2} 460.38/164.32 POL( zeros ) = 0 460.38/164.32 POL( active_1(x_1) ) = 2 460.38/164.32 POL( cons_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.38/164.32 POL( 0 ) = 2 460.38/164.32 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.38/164.32 POL( tt ) = 0 460.38/164.32 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( isNatIListKind_1(x_1) ) = 0 460.38/164.32 POL( U13_1(x_1) ) = x_1 460.38/164.32 POL( isNatList_1(x_1) ) = 0 460.38/164.32 POL( U21_2(x_1, x_2) ) = 2 460.38/164.32 POL( U22_2(x_1, x_2) ) = max{0, x_1 - 2} 460.38/164.32 POL( isNatKind_1(x_1) ) = 0 460.38/164.32 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( isNat_1(x_1) ) = 0 460.38/164.32 POL( U31_2(x_1, x_2) ) = 2x_1 + 2 460.38/164.32 POL( U32_2(x_1, x_2) ) = max{0, -2} 460.38/164.32 POL( U33_1(x_1) ) = 2 460.38/164.32 POL( U41_3(x_1, ..., x_3) ) = 2 460.38/164.32 POL( U42_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 460.38/164.32 POL( U43_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} 460.38/164.32 POL( U44_3(x_1, ..., x_3) ) = x_1 + x_2 460.38/164.32 POL( U46_1(x_1) ) = 2x_1 460.38/164.32 POL( isNatIList_1(x_1) ) = 0 460.38/164.32 POL( U52_1(x_1) ) = 2x_1 460.38/164.32 POL( U86_1(x_1) ) = 2x_1 460.38/164.32 POL( U91_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 460.38/164.32 POL( U92_3(x_1, ..., x_3) ) = x_3 460.38/164.32 POL( U93_3(x_1, ..., x_3) ) = 2x_1 + 2 460.38/164.32 POL( U94_2(x_1, x_2) ) = 2 460.38/164.32 POL( s_1(x_1) ) = max{0, -2} 460.38/164.32 POL( length_1(x_1) ) = 2 460.38/164.32 POL( U61_1(x_1) ) = 0 460.38/164.32 POL( U71_1(x_1) ) = max{0, x_1 - 2} 460.38/164.32 POL( nil ) = 0 460.38/164.32 POL( MARK_1(x_1) ) = x_1 + 2 460.38/164.32 460.38/164.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.38/164.32 none 460.38/164.32 460.38/164.32 460.38/164.32 ---------------------------------------- 460.38/164.32 460.38/164.32 (356) 460.38/164.32 Obligation: 460.38/164.32 Q DP problem: 460.38/164.32 The TRS P consists of the following rules: 460.38/164.32 460.38/164.32 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.38/164.32 MARK(U46(X)) -> MARK(X) 460.38/164.32 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.38/164.32 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.38/164.32 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.32 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.32 MARK(U52(X)) -> MARK(X) 460.38/164.32 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.38/164.32 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.38/164.32 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.32 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.32 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.32 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.32 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.32 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.32 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.32 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.32 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.32 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.32 MARK(U86(X)) -> MARK(X) 460.38/164.32 460.38/164.32 The TRS R consists of the following rules: 460.38/164.32 460.38/164.32 mark(zeros) -> active(zeros) 460.38/164.32 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.32 active(zeros) -> mark(cons(0, zeros)) 460.38/164.32 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.32 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.32 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.32 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.32 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.32 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.32 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.32 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.32 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.32 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.32 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.32 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.32 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.32 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.32 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.32 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.32 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.32 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.32 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.32 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.32 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.32 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.32 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.32 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.32 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.32 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.32 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.32 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.32 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.32 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.32 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.32 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.32 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.32 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.32 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.32 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.32 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.32 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.32 mark(s(X)) -> active(s(mark(X))) 460.38/164.32 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.32 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.32 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.32 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.32 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.32 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.32 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.32 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.32 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.32 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.32 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.32 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.32 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.32 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.32 mark(0) -> active(0) 460.38/164.32 mark(tt) -> active(tt) 460.38/164.32 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.32 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.32 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.32 mark(isNat(X)) -> active(isNat(X)) 460.38/164.32 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.32 mark(length(X)) -> active(length(mark(X))) 460.38/164.32 mark(nil) -> active(nil) 460.38/164.32 length(active(X)) -> length(X) 460.38/164.32 length(mark(X)) -> length(X) 460.38/164.32 active(U13(tt)) -> mark(tt) 460.38/164.32 active(U23(tt)) -> mark(tt) 460.38/164.32 active(U33(tt)) -> mark(tt) 460.38/164.32 active(U46(tt)) -> mark(tt) 460.38/164.32 active(U52(tt)) -> mark(tt) 460.38/164.32 active(U61(tt)) -> mark(tt) 460.38/164.32 active(U71(tt)) -> mark(tt) 460.38/164.32 active(U86(tt)) -> mark(tt) 460.38/164.32 active(isNat(0)) -> mark(tt) 460.38/164.32 active(isNatIList(zeros)) -> mark(tt) 460.38/164.32 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.32 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.32 active(isNatKind(0)) -> mark(tt) 460.38/164.32 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.32 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.32 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.32 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.32 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.32 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.32 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.32 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.32 U13(active(X)) -> U13(X) 460.38/164.32 U13(mark(X)) -> U13(X) 460.38/164.32 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.32 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.32 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.32 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.32 U23(active(X)) -> U23(X) 460.38/164.32 U23(mark(X)) -> U23(X) 460.38/164.32 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.32 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.32 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.32 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.32 U33(active(X)) -> U33(X) 460.38/164.32 U33(mark(X)) -> U33(X) 460.38/164.32 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.32 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.32 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.32 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.32 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.32 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.32 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.32 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.32 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.32 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.32 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.32 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.32 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.32 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.32 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.32 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.32 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.32 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.32 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.32 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.32 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.32 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.32 U46(active(X)) -> U46(X) 460.38/164.32 U46(mark(X)) -> U46(X) 460.38/164.32 U52(active(X)) -> U52(X) 460.38/164.32 U52(mark(X)) -> U52(X) 460.38/164.32 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.32 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.32 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.32 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.32 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.32 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.32 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.32 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.32 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.32 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.32 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.32 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.32 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.32 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.32 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.32 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.32 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.32 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.32 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.32 U86(active(X)) -> U86(X) 460.38/164.32 U86(mark(X)) -> U86(X) 460.38/164.32 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.32 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.32 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.32 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.32 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.32 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.32 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.32 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.32 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.32 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.32 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.32 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.32 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.32 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.32 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.32 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.32 s(active(X)) -> s(X) 460.38/164.32 s(mark(X)) -> s(X) 460.38/164.32 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.32 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.32 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.32 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.32 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.32 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.32 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.32 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.32 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.32 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.32 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.32 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.32 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.32 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.32 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.32 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.32 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.32 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.32 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.32 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.32 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.32 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.32 U61(active(X)) -> U61(X) 460.38/164.32 U61(mark(X)) -> U61(X) 460.38/164.32 U71(active(X)) -> U71(X) 460.38/164.32 U71(mark(X)) -> U71(X) 460.38/164.32 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.32 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.32 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.32 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.32 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.32 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.32 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.32 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.32 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.32 460.38/164.32 The set Q consists of the following terms: 460.38/164.32 460.38/164.32 active(zeros) 460.38/164.32 active(U11(tt, x0)) 460.38/164.32 active(U12(tt, x0)) 460.38/164.32 active(U13(tt)) 460.38/164.32 active(U21(tt, x0)) 460.38/164.32 active(U22(tt, x0)) 460.38/164.32 active(U23(tt)) 460.38/164.32 active(U31(tt, x0)) 460.38/164.32 active(U32(tt, x0)) 460.38/164.32 active(U33(tt)) 460.38/164.32 active(U41(tt, x0, x1)) 460.38/164.32 active(U42(tt, x0, x1)) 460.38/164.32 active(U43(tt, x0, x1)) 460.38/164.32 active(U44(tt, x0, x1)) 460.38/164.32 active(U45(tt, x0)) 460.38/164.32 active(U46(tt)) 460.38/164.32 active(U51(tt, x0)) 460.38/164.32 active(U52(tt)) 460.38/164.32 active(U61(tt)) 460.38/164.32 active(U71(tt)) 460.38/164.32 active(U81(tt, x0, x1)) 460.38/164.32 active(U82(tt, x0, x1)) 460.38/164.32 active(U83(tt, x0, x1)) 460.38/164.32 active(U84(tt, x0, x1)) 460.38/164.32 active(U85(tt, x0)) 460.38/164.32 active(U86(tt)) 460.38/164.32 active(U91(tt, x0, x1)) 460.38/164.32 active(U92(tt, x0, x1)) 460.38/164.32 active(U93(tt, x0, x1)) 460.38/164.32 active(U94(tt, x0)) 460.38/164.32 active(isNat(0)) 460.38/164.32 active(isNat(length(x0))) 460.38/164.32 active(isNat(s(x0))) 460.38/164.32 active(isNatIList(x0)) 460.38/164.32 active(isNatIListKind(nil)) 460.38/164.32 active(isNatIListKind(zeros)) 460.38/164.32 active(isNatIListKind(cons(x0, x1))) 460.38/164.32 active(isNatKind(0)) 460.38/164.32 active(isNatKind(length(x0))) 460.38/164.32 active(isNatKind(s(x0))) 460.38/164.32 active(isNatList(nil)) 460.38/164.32 active(isNatList(cons(x0, x1))) 460.38/164.32 active(length(nil)) 460.38/164.32 active(length(cons(x0, x1))) 460.38/164.32 mark(zeros) 460.38/164.32 mark(cons(x0, x1)) 460.38/164.32 mark(0) 460.38/164.32 mark(U11(x0, x1)) 460.38/164.32 mark(tt) 460.38/164.32 mark(U12(x0, x1)) 460.38/164.32 mark(isNatIListKind(x0)) 460.38/164.32 mark(U13(x0)) 460.38/164.32 mark(isNatList(x0)) 460.38/164.32 mark(U21(x0, x1)) 460.38/164.32 mark(U22(x0, x1)) 460.38/164.32 mark(isNatKind(x0)) 460.38/164.32 mark(U23(x0)) 460.38/164.32 mark(isNat(x0)) 460.38/164.32 mark(U31(x0, x1)) 460.38/164.32 mark(U32(x0, x1)) 460.38/164.32 mark(U33(x0)) 460.38/164.32 mark(U41(x0, x1, x2)) 460.38/164.32 mark(U42(x0, x1, x2)) 460.38/164.32 mark(U43(x0, x1, x2)) 460.38/164.32 mark(U44(x0, x1, x2)) 460.38/164.32 mark(U45(x0, x1)) 460.38/164.32 mark(U46(x0)) 460.38/164.32 mark(isNatIList(x0)) 460.38/164.32 mark(U51(x0, x1)) 460.38/164.32 mark(U52(x0)) 460.38/164.32 mark(U61(x0)) 460.38/164.32 mark(U71(x0)) 460.38/164.32 mark(U81(x0, x1, x2)) 460.38/164.32 mark(U82(x0, x1, x2)) 460.38/164.32 mark(U83(x0, x1, x2)) 460.38/164.32 mark(U84(x0, x1, x2)) 460.38/164.32 mark(U85(x0, x1)) 460.38/164.32 mark(U86(x0)) 460.38/164.32 mark(U91(x0, x1, x2)) 460.38/164.32 mark(U92(x0, x1, x2)) 460.38/164.32 mark(U93(x0, x1, x2)) 460.38/164.32 mark(U94(x0, x1)) 460.38/164.32 mark(s(x0)) 460.38/164.32 mark(length(x0)) 460.38/164.32 mark(nil) 460.38/164.32 cons(mark(x0), x1) 460.38/164.32 cons(x0, mark(x1)) 460.38/164.32 cons(active(x0), x1) 460.38/164.32 cons(x0, active(x1)) 460.38/164.32 U11(mark(x0), x1) 460.38/164.32 U11(x0, mark(x1)) 460.38/164.32 U11(active(x0), x1) 460.38/164.32 U11(x0, active(x1)) 460.38/164.32 U12(mark(x0), x1) 460.38/164.32 U12(x0, mark(x1)) 460.38/164.32 U12(active(x0), x1) 460.38/164.32 U12(x0, active(x1)) 460.38/164.32 isNatIListKind(mark(x0)) 460.38/164.32 isNatIListKind(active(x0)) 460.38/164.32 U13(mark(x0)) 460.38/164.32 U13(active(x0)) 460.38/164.32 isNatList(mark(x0)) 460.38/164.32 isNatList(active(x0)) 460.38/164.32 U21(mark(x0), x1) 460.38/164.32 U21(x0, mark(x1)) 460.38/164.32 U21(active(x0), x1) 460.38/164.32 U21(x0, active(x1)) 460.38/164.32 U22(mark(x0), x1) 460.38/164.32 U22(x0, mark(x1)) 460.38/164.32 U22(active(x0), x1) 460.38/164.32 U22(x0, active(x1)) 460.38/164.32 isNatKind(mark(x0)) 460.38/164.32 isNatKind(active(x0)) 460.38/164.32 U23(mark(x0)) 460.38/164.32 U23(active(x0)) 460.38/164.32 isNat(mark(x0)) 460.38/164.32 isNat(active(x0)) 460.38/164.32 U31(mark(x0), x1) 460.38/164.32 U31(x0, mark(x1)) 460.38/164.32 U31(active(x0), x1) 460.38/164.32 U31(x0, active(x1)) 460.38/164.32 U32(mark(x0), x1) 460.38/164.32 U32(x0, mark(x1)) 460.38/164.32 U32(active(x0), x1) 460.38/164.32 U32(x0, active(x1)) 460.38/164.32 U33(mark(x0)) 460.38/164.32 U33(active(x0)) 460.38/164.32 U41(mark(x0), x1, x2) 460.38/164.32 U41(x0, mark(x1), x2) 460.38/164.32 U41(x0, x1, mark(x2)) 460.38/164.32 U41(active(x0), x1, x2) 460.38/164.32 U41(x0, active(x1), x2) 460.38/164.32 U41(x0, x1, active(x2)) 460.38/164.32 U42(mark(x0), x1, x2) 460.38/164.32 U42(x0, mark(x1), x2) 460.38/164.32 U42(x0, x1, mark(x2)) 460.38/164.32 U42(active(x0), x1, x2) 460.38/164.32 U42(x0, active(x1), x2) 460.38/164.32 U42(x0, x1, active(x2)) 460.38/164.32 U43(mark(x0), x1, x2) 460.38/164.32 U43(x0, mark(x1), x2) 460.38/164.32 U43(x0, x1, mark(x2)) 460.38/164.32 U43(active(x0), x1, x2) 460.38/164.32 U43(x0, active(x1), x2) 460.38/164.32 U43(x0, x1, active(x2)) 460.38/164.32 U44(mark(x0), x1, x2) 460.38/164.32 U44(x0, mark(x1), x2) 460.38/164.32 U44(x0, x1, mark(x2)) 460.38/164.32 U44(active(x0), x1, x2) 460.38/164.32 U44(x0, active(x1), x2) 460.38/164.32 U44(x0, x1, active(x2)) 460.38/164.32 U45(mark(x0), x1) 460.38/164.32 U45(x0, mark(x1)) 460.38/164.32 U45(active(x0), x1) 460.38/164.32 U45(x0, active(x1)) 460.38/164.32 U46(mark(x0)) 460.38/164.32 U46(active(x0)) 460.38/164.32 isNatIList(mark(x0)) 460.38/164.32 isNatIList(active(x0)) 460.38/164.32 U51(mark(x0), x1) 460.38/164.32 U51(x0, mark(x1)) 460.38/164.32 U51(active(x0), x1) 460.38/164.32 U51(x0, active(x1)) 460.38/164.32 U52(mark(x0)) 460.38/164.32 U52(active(x0)) 460.38/164.32 U61(mark(x0)) 460.38/164.32 U61(active(x0)) 460.38/164.32 U71(mark(x0)) 460.38/164.32 U71(active(x0)) 460.38/164.32 U81(mark(x0), x1, x2) 460.38/164.32 U81(x0, mark(x1), x2) 460.38/164.32 U81(x0, x1, mark(x2)) 460.38/164.32 U81(active(x0), x1, x2) 460.38/164.32 U81(x0, active(x1), x2) 460.38/164.32 U81(x0, x1, active(x2)) 460.38/164.32 U82(mark(x0), x1, x2) 460.38/164.32 U82(x0, mark(x1), x2) 460.38/164.32 U82(x0, x1, mark(x2)) 460.38/164.32 U82(active(x0), x1, x2) 460.38/164.32 U82(x0, active(x1), x2) 460.38/164.32 U82(x0, x1, active(x2)) 460.38/164.32 U83(mark(x0), x1, x2) 460.38/164.32 U83(x0, mark(x1), x2) 460.38/164.32 U83(x0, x1, mark(x2)) 460.38/164.32 U83(active(x0), x1, x2) 460.38/164.32 U83(x0, active(x1), x2) 460.38/164.32 U83(x0, x1, active(x2)) 460.38/164.32 U84(mark(x0), x1, x2) 460.38/164.32 U84(x0, mark(x1), x2) 460.38/164.32 U84(x0, x1, mark(x2)) 460.38/164.32 U84(active(x0), x1, x2) 460.38/164.32 U84(x0, active(x1), x2) 460.38/164.32 U84(x0, x1, active(x2)) 460.38/164.32 U85(mark(x0), x1) 460.38/164.32 U85(x0, mark(x1)) 460.38/164.32 U85(active(x0), x1) 460.38/164.32 U85(x0, active(x1)) 460.38/164.32 U86(mark(x0)) 460.38/164.32 U86(active(x0)) 460.38/164.32 U91(mark(x0), x1, x2) 460.38/164.32 U91(x0, mark(x1), x2) 460.38/164.32 U91(x0, x1, mark(x2)) 460.38/164.32 U91(active(x0), x1, x2) 460.38/164.32 U91(x0, active(x1), x2) 460.38/164.32 U91(x0, x1, active(x2)) 460.38/164.32 U92(mark(x0), x1, x2) 460.38/164.32 U92(x0, mark(x1), x2) 460.38/164.32 U92(x0, x1, mark(x2)) 460.38/164.32 U92(active(x0), x1, x2) 460.38/164.32 U92(x0, active(x1), x2) 460.38/164.32 U92(x0, x1, active(x2)) 460.38/164.32 U93(mark(x0), x1, x2) 460.38/164.32 U93(x0, mark(x1), x2) 460.38/164.32 U93(x0, x1, mark(x2)) 460.38/164.32 U93(active(x0), x1, x2) 460.38/164.32 U93(x0, active(x1), x2) 460.38/164.32 U93(x0, x1, active(x2)) 460.38/164.32 U94(mark(x0), x1) 460.38/164.32 U94(x0, mark(x1)) 460.38/164.32 U94(active(x0), x1) 460.38/164.32 U94(x0, active(x1)) 460.38/164.32 s(mark(x0)) 460.38/164.32 s(active(x0)) 460.38/164.32 length(mark(x0)) 460.38/164.32 length(active(x0)) 460.38/164.32 460.38/164.32 We have to consider all minimal (P,Q,R)-chains. 460.38/164.32 ---------------------------------------- 460.38/164.32 460.38/164.32 (357) QDPOrderProof (EQUIVALENT) 460.38/164.32 We use the reduction pair processor [LPAR04,JAR06]. 460.38/164.32 460.38/164.32 460.38/164.32 The following pairs can be oriented strictly and are deleted. 460.38/164.32 460.38/164.32 ACTIVE(U45(tt, V2)) -> MARK(U46(isNatIList(V2))) 460.38/164.32 The remaining pairs can at least be oriented weakly. 460.38/164.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.38/164.32 460.38/164.32 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( U51_2(x_1, x_2) ) = max{0, -2} 460.38/164.32 POL( U81_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.32 POL( U84_3(x_1, ..., x_3) ) = 1 460.38/164.32 POL( U85_2(x_1, x_2) ) = 0 460.38/164.32 POL( mark_1(x_1) ) = 2 460.38/164.32 POL( zeros ) = 0 460.38/164.32 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( cons_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.32 POL( 0 ) = 0 460.38/164.32 POL( U11_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.38/164.32 POL( tt ) = 0 460.38/164.32 POL( U12_2(x_1, x_2) ) = max{0, x_2 - 2} 460.38/164.32 POL( isNatIListKind_1(x_1) ) = 0 460.38/164.32 POL( U13_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( isNatList_1(x_1) ) = 0 460.38/164.32 POL( U21_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.38/164.32 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 1} 460.38/164.32 POL( isNatKind_1(x_1) ) = 0 460.38/164.32 POL( U23_1(x_1) ) = 2 460.38/164.32 POL( isNat_1(x_1) ) = 0 460.38/164.32 POL( U31_2(x_1, x_2) ) = 1 460.38/164.32 POL( U32_2(x_1, x_2) ) = x_1 + x_2 + 2 460.38/164.32 POL( U33_1(x_1) ) = 2 460.38/164.32 POL( U41_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 460.38/164.32 POL( U42_3(x_1, ..., x_3) ) = 2 460.38/164.32 POL( U43_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} 460.38/164.32 POL( U44_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + 2x_3 - 2} 460.38/164.32 POL( U45_2(x_1, x_2) ) = 2 460.38/164.32 POL( U46_1(x_1) ) = 0 460.38/164.32 POL( isNatIList_1(x_1) ) = 2x_1 460.38/164.32 POL( U52_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( U86_1(x_1) ) = max{0, -2} 460.38/164.32 POL( U91_3(x_1, ..., x_3) ) = 2x_3 + 2 460.38/164.32 POL( U92_3(x_1, ..., x_3) ) = 2 460.38/164.32 POL( U93_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 460.38/164.32 POL( U94_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.38/164.32 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( length_1(x_1) ) = x_1 + 2 460.38/164.32 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 460.38/164.32 POL( U71_1(x_1) ) = 2 460.38/164.32 POL( nil ) = 0 460.38/164.32 POL( MARK_1(x_1) ) = max{0, -2} 460.38/164.32 460.38/164.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.38/164.32 460.38/164.32 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.32 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.32 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.32 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.32 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.32 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.32 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.32 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.32 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.32 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.32 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 460.38/164.33 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (358) 460.38/164.33 Obligation: 460.38/164.33 Q DP problem: 460.38/164.33 The TRS P consists of the following rules: 460.38/164.33 460.38/164.33 MARK(U46(X)) -> MARK(X) 460.38/164.33 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.38/164.33 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.38/164.33 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.33 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.33 MARK(U52(X)) -> MARK(X) 460.38/164.33 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.38/164.33 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.33 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.33 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.33 MARK(U86(X)) -> MARK(X) 460.38/164.33 460.38/164.33 The TRS R consists of the following rules: 460.38/164.33 460.38/164.33 mark(zeros) -> active(zeros) 460.38/164.33 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.33 active(zeros) -> mark(cons(0, zeros)) 460.38/164.33 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.33 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.33 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.33 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.33 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.33 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.33 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.33 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.33 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.33 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.33 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.33 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.33 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.33 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.33 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.33 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.33 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.33 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.33 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.33 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.33 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.33 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.33 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.33 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.33 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.33 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.33 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.33 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.33 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.33 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.33 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.33 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.33 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.33 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.33 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.33 mark(s(X)) -> active(s(mark(X))) 460.38/164.33 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.33 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.33 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.33 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.33 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.33 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.33 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.33 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.33 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.33 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.33 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.33 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.33 mark(0) -> active(0) 460.38/164.33 mark(tt) -> active(tt) 460.38/164.33 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.33 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.33 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.33 mark(isNat(X)) -> active(isNat(X)) 460.38/164.33 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.33 mark(length(X)) -> active(length(mark(X))) 460.38/164.33 mark(nil) -> active(nil) 460.38/164.33 length(active(X)) -> length(X) 460.38/164.33 length(mark(X)) -> length(X) 460.38/164.33 active(U13(tt)) -> mark(tt) 460.38/164.33 active(U23(tt)) -> mark(tt) 460.38/164.33 active(U33(tt)) -> mark(tt) 460.38/164.33 active(U46(tt)) -> mark(tt) 460.38/164.33 active(U52(tt)) -> mark(tt) 460.38/164.33 active(U61(tt)) -> mark(tt) 460.38/164.33 active(U71(tt)) -> mark(tt) 460.38/164.33 active(U86(tt)) -> mark(tt) 460.38/164.33 active(isNat(0)) -> mark(tt) 460.38/164.33 active(isNatIList(zeros)) -> mark(tt) 460.38/164.33 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.33 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.33 active(isNatKind(0)) -> mark(tt) 460.38/164.33 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.33 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.33 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.33 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.33 U13(active(X)) -> U13(X) 460.38/164.33 U13(mark(X)) -> U13(X) 460.38/164.33 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.33 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.33 U23(active(X)) -> U23(X) 460.38/164.33 U23(mark(X)) -> U23(X) 460.38/164.33 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.33 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.33 U33(active(X)) -> U33(X) 460.38/164.33 U33(mark(X)) -> U33(X) 460.38/164.33 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.33 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.33 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.33 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.33 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.33 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.33 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.33 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.33 U46(active(X)) -> U46(X) 460.38/164.33 U46(mark(X)) -> U46(X) 460.38/164.33 U52(active(X)) -> U52(X) 460.38/164.33 U52(mark(X)) -> U52(X) 460.38/164.33 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.33 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 U86(active(X)) -> U86(X) 460.38/164.33 U86(mark(X)) -> U86(X) 460.38/164.33 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.33 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.33 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.33 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.33 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.33 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.33 s(active(X)) -> s(X) 460.38/164.33 s(mark(X)) -> s(X) 460.38/164.33 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.33 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.33 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.33 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.33 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.33 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.33 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.33 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U61(active(X)) -> U61(X) 460.38/164.33 U61(mark(X)) -> U61(X) 460.38/164.33 U71(active(X)) -> U71(X) 460.38/164.33 U71(mark(X)) -> U71(X) 460.38/164.33 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.33 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.33 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.33 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.33 460.38/164.33 The set Q consists of the following terms: 460.38/164.33 460.38/164.33 active(zeros) 460.38/164.33 active(U11(tt, x0)) 460.38/164.33 active(U12(tt, x0)) 460.38/164.33 active(U13(tt)) 460.38/164.33 active(U21(tt, x0)) 460.38/164.33 active(U22(tt, x0)) 460.38/164.33 active(U23(tt)) 460.38/164.33 active(U31(tt, x0)) 460.38/164.33 active(U32(tt, x0)) 460.38/164.33 active(U33(tt)) 460.38/164.33 active(U41(tt, x0, x1)) 460.38/164.33 active(U42(tt, x0, x1)) 460.38/164.33 active(U43(tt, x0, x1)) 460.38/164.33 active(U44(tt, x0, x1)) 460.38/164.33 active(U45(tt, x0)) 460.38/164.33 active(U46(tt)) 460.38/164.33 active(U51(tt, x0)) 460.38/164.33 active(U52(tt)) 460.38/164.33 active(U61(tt)) 460.38/164.33 active(U71(tt)) 460.38/164.33 active(U81(tt, x0, x1)) 460.38/164.33 active(U82(tt, x0, x1)) 460.38/164.33 active(U83(tt, x0, x1)) 460.38/164.33 active(U84(tt, x0, x1)) 460.38/164.33 active(U85(tt, x0)) 460.38/164.33 active(U86(tt)) 460.38/164.33 active(U91(tt, x0, x1)) 460.38/164.33 active(U92(tt, x0, x1)) 460.38/164.33 active(U93(tt, x0, x1)) 460.38/164.33 active(U94(tt, x0)) 460.38/164.33 active(isNat(0)) 460.38/164.33 active(isNat(length(x0))) 460.38/164.33 active(isNat(s(x0))) 460.38/164.33 active(isNatIList(x0)) 460.38/164.33 active(isNatIListKind(nil)) 460.38/164.33 active(isNatIListKind(zeros)) 460.38/164.33 active(isNatIListKind(cons(x0, x1))) 460.38/164.33 active(isNatKind(0)) 460.38/164.33 active(isNatKind(length(x0))) 460.38/164.33 active(isNatKind(s(x0))) 460.38/164.33 active(isNatList(nil)) 460.38/164.33 active(isNatList(cons(x0, x1))) 460.38/164.33 active(length(nil)) 460.38/164.33 active(length(cons(x0, x1))) 460.38/164.33 mark(zeros) 460.38/164.33 mark(cons(x0, x1)) 460.38/164.33 mark(0) 460.38/164.33 mark(U11(x0, x1)) 460.38/164.33 mark(tt) 460.38/164.33 mark(U12(x0, x1)) 460.38/164.33 mark(isNatIListKind(x0)) 460.38/164.33 mark(U13(x0)) 460.38/164.33 mark(isNatList(x0)) 460.38/164.33 mark(U21(x0, x1)) 460.38/164.33 mark(U22(x0, x1)) 460.38/164.33 mark(isNatKind(x0)) 460.38/164.33 mark(U23(x0)) 460.38/164.33 mark(isNat(x0)) 460.38/164.33 mark(U31(x0, x1)) 460.38/164.33 mark(U32(x0, x1)) 460.38/164.33 mark(U33(x0)) 460.38/164.33 mark(U41(x0, x1, x2)) 460.38/164.33 mark(U42(x0, x1, x2)) 460.38/164.33 mark(U43(x0, x1, x2)) 460.38/164.33 mark(U44(x0, x1, x2)) 460.38/164.33 mark(U45(x0, x1)) 460.38/164.33 mark(U46(x0)) 460.38/164.33 mark(isNatIList(x0)) 460.38/164.33 mark(U51(x0, x1)) 460.38/164.33 mark(U52(x0)) 460.38/164.33 mark(U61(x0)) 460.38/164.33 mark(U71(x0)) 460.38/164.33 mark(U81(x0, x1, x2)) 460.38/164.33 mark(U82(x0, x1, x2)) 460.38/164.33 mark(U83(x0, x1, x2)) 460.38/164.33 mark(U84(x0, x1, x2)) 460.38/164.33 mark(U85(x0, x1)) 460.38/164.33 mark(U86(x0)) 460.38/164.33 mark(U91(x0, x1, x2)) 460.38/164.33 mark(U92(x0, x1, x2)) 460.38/164.33 mark(U93(x0, x1, x2)) 460.38/164.33 mark(U94(x0, x1)) 460.38/164.33 mark(s(x0)) 460.38/164.33 mark(length(x0)) 460.38/164.33 mark(nil) 460.38/164.33 cons(mark(x0), x1) 460.38/164.33 cons(x0, mark(x1)) 460.38/164.33 cons(active(x0), x1) 460.38/164.33 cons(x0, active(x1)) 460.38/164.33 U11(mark(x0), x1) 460.38/164.33 U11(x0, mark(x1)) 460.38/164.33 U11(active(x0), x1) 460.38/164.33 U11(x0, active(x1)) 460.38/164.33 U12(mark(x0), x1) 460.38/164.33 U12(x0, mark(x1)) 460.38/164.33 U12(active(x0), x1) 460.38/164.33 U12(x0, active(x1)) 460.38/164.33 isNatIListKind(mark(x0)) 460.38/164.33 isNatIListKind(active(x0)) 460.38/164.33 U13(mark(x0)) 460.38/164.33 U13(active(x0)) 460.38/164.33 isNatList(mark(x0)) 460.38/164.33 isNatList(active(x0)) 460.38/164.33 U21(mark(x0), x1) 460.38/164.33 U21(x0, mark(x1)) 460.38/164.33 U21(active(x0), x1) 460.38/164.33 U21(x0, active(x1)) 460.38/164.33 U22(mark(x0), x1) 460.38/164.33 U22(x0, mark(x1)) 460.38/164.33 U22(active(x0), x1) 460.38/164.33 U22(x0, active(x1)) 460.38/164.33 isNatKind(mark(x0)) 460.38/164.33 isNatKind(active(x0)) 460.38/164.33 U23(mark(x0)) 460.38/164.33 U23(active(x0)) 460.38/164.33 isNat(mark(x0)) 460.38/164.33 isNat(active(x0)) 460.38/164.33 U31(mark(x0), x1) 460.38/164.33 U31(x0, mark(x1)) 460.38/164.33 U31(active(x0), x1) 460.38/164.33 U31(x0, active(x1)) 460.38/164.33 U32(mark(x0), x1) 460.38/164.33 U32(x0, mark(x1)) 460.38/164.33 U32(active(x0), x1) 460.38/164.33 U32(x0, active(x1)) 460.38/164.33 U33(mark(x0)) 460.38/164.33 U33(active(x0)) 460.38/164.33 U41(mark(x0), x1, x2) 460.38/164.33 U41(x0, mark(x1), x2) 460.38/164.33 U41(x0, x1, mark(x2)) 460.38/164.33 U41(active(x0), x1, x2) 460.38/164.33 U41(x0, active(x1), x2) 460.38/164.33 U41(x0, x1, active(x2)) 460.38/164.33 U42(mark(x0), x1, x2) 460.38/164.33 U42(x0, mark(x1), x2) 460.38/164.33 U42(x0, x1, mark(x2)) 460.38/164.33 U42(active(x0), x1, x2) 460.38/164.33 U42(x0, active(x1), x2) 460.38/164.33 U42(x0, x1, active(x2)) 460.38/164.33 U43(mark(x0), x1, x2) 460.38/164.33 U43(x0, mark(x1), x2) 460.38/164.33 U43(x0, x1, mark(x2)) 460.38/164.33 U43(active(x0), x1, x2) 460.38/164.33 U43(x0, active(x1), x2) 460.38/164.33 U43(x0, x1, active(x2)) 460.38/164.33 U44(mark(x0), x1, x2) 460.38/164.33 U44(x0, mark(x1), x2) 460.38/164.33 U44(x0, x1, mark(x2)) 460.38/164.33 U44(active(x0), x1, x2) 460.38/164.33 U44(x0, active(x1), x2) 460.38/164.33 U44(x0, x1, active(x2)) 460.38/164.33 U45(mark(x0), x1) 460.38/164.33 U45(x0, mark(x1)) 460.38/164.33 U45(active(x0), x1) 460.38/164.33 U45(x0, active(x1)) 460.38/164.33 U46(mark(x0)) 460.38/164.33 U46(active(x0)) 460.38/164.33 isNatIList(mark(x0)) 460.38/164.33 isNatIList(active(x0)) 460.38/164.33 U51(mark(x0), x1) 460.38/164.33 U51(x0, mark(x1)) 460.38/164.33 U51(active(x0), x1) 460.38/164.33 U51(x0, active(x1)) 460.38/164.33 U52(mark(x0)) 460.38/164.33 U52(active(x0)) 460.38/164.33 U61(mark(x0)) 460.38/164.33 U61(active(x0)) 460.38/164.33 U71(mark(x0)) 460.38/164.33 U71(active(x0)) 460.38/164.33 U81(mark(x0), x1, x2) 460.38/164.33 U81(x0, mark(x1), x2) 460.38/164.33 U81(x0, x1, mark(x2)) 460.38/164.33 U81(active(x0), x1, x2) 460.38/164.33 U81(x0, active(x1), x2) 460.38/164.33 U81(x0, x1, active(x2)) 460.38/164.33 U82(mark(x0), x1, x2) 460.38/164.33 U82(x0, mark(x1), x2) 460.38/164.33 U82(x0, x1, mark(x2)) 460.38/164.33 U82(active(x0), x1, x2) 460.38/164.33 U82(x0, active(x1), x2) 460.38/164.33 U82(x0, x1, active(x2)) 460.38/164.33 U83(mark(x0), x1, x2) 460.38/164.33 U83(x0, mark(x1), x2) 460.38/164.33 U83(x0, x1, mark(x2)) 460.38/164.33 U83(active(x0), x1, x2) 460.38/164.33 U83(x0, active(x1), x2) 460.38/164.33 U83(x0, x1, active(x2)) 460.38/164.33 U84(mark(x0), x1, x2) 460.38/164.33 U84(x0, mark(x1), x2) 460.38/164.33 U84(x0, x1, mark(x2)) 460.38/164.33 U84(active(x0), x1, x2) 460.38/164.33 U84(x0, active(x1), x2) 460.38/164.33 U84(x0, x1, active(x2)) 460.38/164.33 U85(mark(x0), x1) 460.38/164.33 U85(x0, mark(x1)) 460.38/164.33 U85(active(x0), x1) 460.38/164.33 U85(x0, active(x1)) 460.38/164.33 U86(mark(x0)) 460.38/164.33 U86(active(x0)) 460.38/164.33 U91(mark(x0), x1, x2) 460.38/164.33 U91(x0, mark(x1), x2) 460.38/164.33 U91(x0, x1, mark(x2)) 460.38/164.33 U91(active(x0), x1, x2) 460.38/164.33 U91(x0, active(x1), x2) 460.38/164.33 U91(x0, x1, active(x2)) 460.38/164.33 U92(mark(x0), x1, x2) 460.38/164.33 U92(x0, mark(x1), x2) 460.38/164.33 U92(x0, x1, mark(x2)) 460.38/164.33 U92(active(x0), x1, x2) 460.38/164.33 U92(x0, active(x1), x2) 460.38/164.33 U92(x0, x1, active(x2)) 460.38/164.33 U93(mark(x0), x1, x2) 460.38/164.33 U93(x0, mark(x1), x2) 460.38/164.33 U93(x0, x1, mark(x2)) 460.38/164.33 U93(active(x0), x1, x2) 460.38/164.33 U93(x0, active(x1), x2) 460.38/164.33 U93(x0, x1, active(x2)) 460.38/164.33 U94(mark(x0), x1) 460.38/164.33 U94(x0, mark(x1)) 460.38/164.33 U94(active(x0), x1) 460.38/164.33 U94(x0, active(x1)) 460.38/164.33 s(mark(x0)) 460.38/164.33 s(active(x0)) 460.38/164.33 length(mark(x0)) 460.38/164.33 length(active(x0)) 460.38/164.33 460.38/164.33 We have to consider all minimal (P,Q,R)-chains. 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (359) QDPOrderProof (EQUIVALENT) 460.38/164.33 We use the reduction pair processor [LPAR04,JAR06]. 460.38/164.33 460.38/164.33 460.38/164.33 The following pairs can be oriented strictly and are deleted. 460.38/164.33 460.38/164.33 MARK(U46(X)) -> MARK(X) 460.38/164.33 The remaining pairs can at least be oriented weakly. 460.38/164.33 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.38/164.33 460.38/164.33 POL( ACTIVE_1(x_1) ) = max{0, -2} 460.38/164.33 POL( U51_2(x_1, x_2) ) = 1 460.38/164.33 POL( U81_3(x_1, ..., x_3) ) = 1 460.38/164.33 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.33 POL( U83_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.33 POL( U84_3(x_1, ..., x_3) ) = max{0, -2} 460.38/164.33 POL( U85_2(x_1, x_2) ) = max{0, -2} 460.38/164.33 POL( mark_1(x_1) ) = max{0, -2} 460.38/164.33 POL( zeros ) = 0 460.38/164.33 POL( active_1(x_1) ) = max{0, -2} 460.38/164.33 POL( cons_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 460.38/164.33 POL( 0 ) = 0 460.38/164.33 POL( U11_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.33 POL( tt ) = 0 460.38/164.33 POL( U12_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.33 POL( isNatIListKind_1(x_1) ) = 0 460.38/164.33 POL( U13_1(x_1) ) = max{0, -2} 460.38/164.33 POL( isNatList_1(x_1) ) = 0 460.38/164.33 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 460.38/164.33 POL( U22_2(x_1, x_2) ) = 2 460.38/164.33 POL( isNatKind_1(x_1) ) = 0 460.38/164.33 POL( U23_1(x_1) ) = 2 460.38/164.33 POL( isNat_1(x_1) ) = 0 460.38/164.33 POL( U31_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.33 POL( U32_2(x_1, x_2) ) = 2 460.38/164.33 POL( U33_1(x_1) ) = max{0, -2} 460.38/164.33 POL( U41_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 2} 460.38/164.33 POL( U42_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} 460.38/164.33 POL( U43_3(x_1, ..., x_3) ) = x_2 + 2x_3 460.38/164.33 POL( U44_3(x_1, ..., x_3) ) = 2 460.38/164.33 POL( U45_2(x_1, x_2) ) = x_2 + 1 460.38/164.33 POL( U46_1(x_1) ) = x_1 + 2 460.38/164.33 POL( isNatIList_1(x_1) ) = 2 460.38/164.33 POL( U52_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U86_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U91_3(x_1, ..., x_3) ) = max{0, x_3 - 2} 460.38/164.33 POL( U92_3(x_1, ..., x_3) ) = 2x_1 + 2 460.38/164.33 POL( U93_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.38/164.33 POL( U94_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.33 POL( s_1(x_1) ) = 2 460.38/164.33 POL( length_1(x_1) ) = 2 460.38/164.33 POL( U61_1(x_1) ) = 2 460.38/164.33 POL( U71_1(x_1) ) = 2 460.38/164.33 POL( nil ) = 0 460.38/164.33 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.38/164.33 460.38/164.33 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.38/164.33 none 460.38/164.33 460.38/164.33 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (360) 460.38/164.33 Obligation: 460.38/164.33 Q DP problem: 460.38/164.33 The TRS P consists of the following rules: 460.38/164.33 460.38/164.33 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.38/164.33 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.38/164.33 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.33 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.33 MARK(U52(X)) -> MARK(X) 460.38/164.33 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.38/164.33 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.33 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.33 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.33 MARK(U86(X)) -> MARK(X) 460.38/164.33 460.38/164.33 The TRS R consists of the following rules: 460.38/164.33 460.38/164.33 mark(zeros) -> active(zeros) 460.38/164.33 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.33 active(zeros) -> mark(cons(0, zeros)) 460.38/164.33 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.33 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.33 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.33 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.33 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.33 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.33 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.33 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.33 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.33 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.33 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.33 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.33 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.33 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.33 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.33 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.33 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.33 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.33 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.33 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.33 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.33 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.33 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.33 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.33 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.33 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.33 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.33 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.33 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.33 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.33 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.33 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.33 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.33 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.33 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.33 mark(s(X)) -> active(s(mark(X))) 460.38/164.33 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.33 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.33 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.33 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.33 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.33 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.33 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.33 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.33 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.33 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.33 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.33 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.33 mark(0) -> active(0) 460.38/164.33 mark(tt) -> active(tt) 460.38/164.33 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.33 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.33 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.33 mark(isNat(X)) -> active(isNat(X)) 460.38/164.33 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.33 mark(length(X)) -> active(length(mark(X))) 460.38/164.33 mark(nil) -> active(nil) 460.38/164.33 length(active(X)) -> length(X) 460.38/164.33 length(mark(X)) -> length(X) 460.38/164.33 active(U13(tt)) -> mark(tt) 460.38/164.33 active(U23(tt)) -> mark(tt) 460.38/164.33 active(U33(tt)) -> mark(tt) 460.38/164.33 active(U46(tt)) -> mark(tt) 460.38/164.33 active(U52(tt)) -> mark(tt) 460.38/164.33 active(U61(tt)) -> mark(tt) 460.38/164.33 active(U71(tt)) -> mark(tt) 460.38/164.33 active(U86(tt)) -> mark(tt) 460.38/164.33 active(isNat(0)) -> mark(tt) 460.38/164.33 active(isNatIList(zeros)) -> mark(tt) 460.38/164.33 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.33 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.33 active(isNatKind(0)) -> mark(tt) 460.38/164.33 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.33 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.33 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.33 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.33 U13(active(X)) -> U13(X) 460.38/164.33 U13(mark(X)) -> U13(X) 460.38/164.33 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.33 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.33 U23(active(X)) -> U23(X) 460.38/164.33 U23(mark(X)) -> U23(X) 460.38/164.33 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.33 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.33 U33(active(X)) -> U33(X) 460.38/164.33 U33(mark(X)) -> U33(X) 460.38/164.33 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.33 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.33 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.33 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.33 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.33 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.33 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.33 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.33 U46(active(X)) -> U46(X) 460.38/164.33 U46(mark(X)) -> U46(X) 460.38/164.33 U52(active(X)) -> U52(X) 460.38/164.33 U52(mark(X)) -> U52(X) 460.38/164.33 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.33 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 U86(active(X)) -> U86(X) 460.38/164.33 U86(mark(X)) -> U86(X) 460.38/164.33 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.33 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.33 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.33 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.33 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.33 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.33 s(active(X)) -> s(X) 460.38/164.33 s(mark(X)) -> s(X) 460.38/164.33 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.33 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.33 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.33 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.33 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.33 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.33 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.33 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U61(active(X)) -> U61(X) 460.38/164.33 U61(mark(X)) -> U61(X) 460.38/164.33 U71(active(X)) -> U71(X) 460.38/164.33 U71(mark(X)) -> U71(X) 460.38/164.33 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.33 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.33 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.33 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.33 460.38/164.33 The set Q consists of the following terms: 460.38/164.33 460.38/164.33 active(zeros) 460.38/164.33 active(U11(tt, x0)) 460.38/164.33 active(U12(tt, x0)) 460.38/164.33 active(U13(tt)) 460.38/164.33 active(U21(tt, x0)) 460.38/164.33 active(U22(tt, x0)) 460.38/164.33 active(U23(tt)) 460.38/164.33 active(U31(tt, x0)) 460.38/164.33 active(U32(tt, x0)) 460.38/164.33 active(U33(tt)) 460.38/164.33 active(U41(tt, x0, x1)) 460.38/164.33 active(U42(tt, x0, x1)) 460.38/164.33 active(U43(tt, x0, x1)) 460.38/164.33 active(U44(tt, x0, x1)) 460.38/164.33 active(U45(tt, x0)) 460.38/164.33 active(U46(tt)) 460.38/164.33 active(U51(tt, x0)) 460.38/164.33 active(U52(tt)) 460.38/164.33 active(U61(tt)) 460.38/164.33 active(U71(tt)) 460.38/164.33 active(U81(tt, x0, x1)) 460.38/164.33 active(U82(tt, x0, x1)) 460.38/164.33 active(U83(tt, x0, x1)) 460.38/164.33 active(U84(tt, x0, x1)) 460.38/164.33 active(U85(tt, x0)) 460.38/164.33 active(U86(tt)) 460.38/164.33 active(U91(tt, x0, x1)) 460.38/164.33 active(U92(tt, x0, x1)) 460.38/164.33 active(U93(tt, x0, x1)) 460.38/164.33 active(U94(tt, x0)) 460.38/164.33 active(isNat(0)) 460.38/164.33 active(isNat(length(x0))) 460.38/164.33 active(isNat(s(x0))) 460.38/164.33 active(isNatIList(x0)) 460.38/164.33 active(isNatIListKind(nil)) 460.38/164.33 active(isNatIListKind(zeros)) 460.38/164.33 active(isNatIListKind(cons(x0, x1))) 460.38/164.33 active(isNatKind(0)) 460.38/164.33 active(isNatKind(length(x0))) 460.38/164.33 active(isNatKind(s(x0))) 460.38/164.33 active(isNatList(nil)) 460.38/164.33 active(isNatList(cons(x0, x1))) 460.38/164.33 active(length(nil)) 460.38/164.33 active(length(cons(x0, x1))) 460.38/164.33 mark(zeros) 460.38/164.33 mark(cons(x0, x1)) 460.38/164.33 mark(0) 460.38/164.33 mark(U11(x0, x1)) 460.38/164.33 mark(tt) 460.38/164.33 mark(U12(x0, x1)) 460.38/164.33 mark(isNatIListKind(x0)) 460.38/164.33 mark(U13(x0)) 460.38/164.33 mark(isNatList(x0)) 460.38/164.33 mark(U21(x0, x1)) 460.38/164.33 mark(U22(x0, x1)) 460.38/164.33 mark(isNatKind(x0)) 460.38/164.33 mark(U23(x0)) 460.38/164.33 mark(isNat(x0)) 460.38/164.33 mark(U31(x0, x1)) 460.38/164.33 mark(U32(x0, x1)) 460.38/164.33 mark(U33(x0)) 460.38/164.33 mark(U41(x0, x1, x2)) 460.38/164.33 mark(U42(x0, x1, x2)) 460.38/164.33 mark(U43(x0, x1, x2)) 460.38/164.33 mark(U44(x0, x1, x2)) 460.38/164.33 mark(U45(x0, x1)) 460.38/164.33 mark(U46(x0)) 460.38/164.33 mark(isNatIList(x0)) 460.38/164.33 mark(U51(x0, x1)) 460.38/164.33 mark(U52(x0)) 460.38/164.33 mark(U61(x0)) 460.38/164.33 mark(U71(x0)) 460.38/164.33 mark(U81(x0, x1, x2)) 460.38/164.33 mark(U82(x0, x1, x2)) 460.38/164.33 mark(U83(x0, x1, x2)) 460.38/164.33 mark(U84(x0, x1, x2)) 460.38/164.33 mark(U85(x0, x1)) 460.38/164.33 mark(U86(x0)) 460.38/164.33 mark(U91(x0, x1, x2)) 460.38/164.33 mark(U92(x0, x1, x2)) 460.38/164.33 mark(U93(x0, x1, x2)) 460.38/164.33 mark(U94(x0, x1)) 460.38/164.33 mark(s(x0)) 460.38/164.33 mark(length(x0)) 460.38/164.33 mark(nil) 460.38/164.33 cons(mark(x0), x1) 460.38/164.33 cons(x0, mark(x1)) 460.38/164.33 cons(active(x0), x1) 460.38/164.33 cons(x0, active(x1)) 460.38/164.33 U11(mark(x0), x1) 460.38/164.33 U11(x0, mark(x1)) 460.38/164.33 U11(active(x0), x1) 460.38/164.33 U11(x0, active(x1)) 460.38/164.33 U12(mark(x0), x1) 460.38/164.33 U12(x0, mark(x1)) 460.38/164.33 U12(active(x0), x1) 460.38/164.33 U12(x0, active(x1)) 460.38/164.33 isNatIListKind(mark(x0)) 460.38/164.33 isNatIListKind(active(x0)) 460.38/164.33 U13(mark(x0)) 460.38/164.33 U13(active(x0)) 460.38/164.33 isNatList(mark(x0)) 460.38/164.33 isNatList(active(x0)) 460.38/164.33 U21(mark(x0), x1) 460.38/164.33 U21(x0, mark(x1)) 460.38/164.33 U21(active(x0), x1) 460.38/164.33 U21(x0, active(x1)) 460.38/164.33 U22(mark(x0), x1) 460.38/164.33 U22(x0, mark(x1)) 460.38/164.33 U22(active(x0), x1) 460.38/164.33 U22(x0, active(x1)) 460.38/164.33 isNatKind(mark(x0)) 460.38/164.33 isNatKind(active(x0)) 460.38/164.33 U23(mark(x0)) 460.38/164.33 U23(active(x0)) 460.38/164.33 isNat(mark(x0)) 460.38/164.33 isNat(active(x0)) 460.38/164.33 U31(mark(x0), x1) 460.38/164.33 U31(x0, mark(x1)) 460.38/164.33 U31(active(x0), x1) 460.38/164.33 U31(x0, active(x1)) 460.38/164.33 U32(mark(x0), x1) 460.38/164.33 U32(x0, mark(x1)) 460.38/164.33 U32(active(x0), x1) 460.38/164.33 U32(x0, active(x1)) 460.38/164.33 U33(mark(x0)) 460.38/164.33 U33(active(x0)) 460.38/164.33 U41(mark(x0), x1, x2) 460.38/164.33 U41(x0, mark(x1), x2) 460.38/164.33 U41(x0, x1, mark(x2)) 460.38/164.33 U41(active(x0), x1, x2) 460.38/164.33 U41(x0, active(x1), x2) 460.38/164.33 U41(x0, x1, active(x2)) 460.38/164.33 U42(mark(x0), x1, x2) 460.38/164.33 U42(x0, mark(x1), x2) 460.38/164.33 U42(x0, x1, mark(x2)) 460.38/164.33 U42(active(x0), x1, x2) 460.38/164.33 U42(x0, active(x1), x2) 460.38/164.33 U42(x0, x1, active(x2)) 460.38/164.33 U43(mark(x0), x1, x2) 460.38/164.33 U43(x0, mark(x1), x2) 460.38/164.33 U43(x0, x1, mark(x2)) 460.38/164.33 U43(active(x0), x1, x2) 460.38/164.33 U43(x0, active(x1), x2) 460.38/164.33 U43(x0, x1, active(x2)) 460.38/164.33 U44(mark(x0), x1, x2) 460.38/164.33 U44(x0, mark(x1), x2) 460.38/164.33 U44(x0, x1, mark(x2)) 460.38/164.33 U44(active(x0), x1, x2) 460.38/164.33 U44(x0, active(x1), x2) 460.38/164.33 U44(x0, x1, active(x2)) 460.38/164.33 U45(mark(x0), x1) 460.38/164.33 U45(x0, mark(x1)) 460.38/164.33 U45(active(x0), x1) 460.38/164.33 U45(x0, active(x1)) 460.38/164.33 U46(mark(x0)) 460.38/164.33 U46(active(x0)) 460.38/164.33 isNatIList(mark(x0)) 460.38/164.33 isNatIList(active(x0)) 460.38/164.33 U51(mark(x0), x1) 460.38/164.33 U51(x0, mark(x1)) 460.38/164.33 U51(active(x0), x1) 460.38/164.33 U51(x0, active(x1)) 460.38/164.33 U52(mark(x0)) 460.38/164.33 U52(active(x0)) 460.38/164.33 U61(mark(x0)) 460.38/164.33 U61(active(x0)) 460.38/164.33 U71(mark(x0)) 460.38/164.33 U71(active(x0)) 460.38/164.33 U81(mark(x0), x1, x2) 460.38/164.33 U81(x0, mark(x1), x2) 460.38/164.33 U81(x0, x1, mark(x2)) 460.38/164.33 U81(active(x0), x1, x2) 460.38/164.33 U81(x0, active(x1), x2) 460.38/164.33 U81(x0, x1, active(x2)) 460.38/164.33 U82(mark(x0), x1, x2) 460.38/164.33 U82(x0, mark(x1), x2) 460.38/164.33 U82(x0, x1, mark(x2)) 460.38/164.33 U82(active(x0), x1, x2) 460.38/164.33 U82(x0, active(x1), x2) 460.38/164.33 U82(x0, x1, active(x2)) 460.38/164.33 U83(mark(x0), x1, x2) 460.38/164.33 U83(x0, mark(x1), x2) 460.38/164.33 U83(x0, x1, mark(x2)) 460.38/164.33 U83(active(x0), x1, x2) 460.38/164.33 U83(x0, active(x1), x2) 460.38/164.33 U83(x0, x1, active(x2)) 460.38/164.33 U84(mark(x0), x1, x2) 460.38/164.33 U84(x0, mark(x1), x2) 460.38/164.33 U84(x0, x1, mark(x2)) 460.38/164.33 U84(active(x0), x1, x2) 460.38/164.33 U84(x0, active(x1), x2) 460.38/164.33 U84(x0, x1, active(x2)) 460.38/164.33 U85(mark(x0), x1) 460.38/164.33 U85(x0, mark(x1)) 460.38/164.33 U85(active(x0), x1) 460.38/164.33 U85(x0, active(x1)) 460.38/164.33 U86(mark(x0)) 460.38/164.33 U86(active(x0)) 460.38/164.33 U91(mark(x0), x1, x2) 460.38/164.33 U91(x0, mark(x1), x2) 460.38/164.33 U91(x0, x1, mark(x2)) 460.38/164.33 U91(active(x0), x1, x2) 460.38/164.33 U91(x0, active(x1), x2) 460.38/164.33 U91(x0, x1, active(x2)) 460.38/164.33 U92(mark(x0), x1, x2) 460.38/164.33 U92(x0, mark(x1), x2) 460.38/164.33 U92(x0, x1, mark(x2)) 460.38/164.33 U92(active(x0), x1, x2) 460.38/164.33 U92(x0, active(x1), x2) 460.38/164.33 U92(x0, x1, active(x2)) 460.38/164.33 U93(mark(x0), x1, x2) 460.38/164.33 U93(x0, mark(x1), x2) 460.38/164.33 U93(x0, x1, mark(x2)) 460.38/164.33 U93(active(x0), x1, x2) 460.38/164.33 U93(x0, active(x1), x2) 460.38/164.33 U93(x0, x1, active(x2)) 460.38/164.33 U94(mark(x0), x1) 460.38/164.33 U94(x0, mark(x1)) 460.38/164.33 U94(active(x0), x1) 460.38/164.33 U94(x0, active(x1)) 460.38/164.33 s(mark(x0)) 460.38/164.33 s(active(x0)) 460.38/164.33 length(mark(x0)) 460.38/164.33 length(active(x0)) 460.38/164.33 460.38/164.33 We have to consider all minimal (P,Q,R)-chains. 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (361) QDPOrderProof (EQUIVALENT) 460.38/164.33 We use the reduction pair processor [LPAR04,JAR06]. 460.38/164.33 460.38/164.33 460.38/164.33 The following pairs can be oriented strictly and are deleted. 460.38/164.33 460.38/164.33 ACTIVE(isNatIListKind(cons(V1, V2))) -> MARK(U51(isNatKind(V1), V2)) 460.38/164.33 ACTIVE(isNatList(cons(V1, V2))) -> MARK(U81(isNatKind(V1), V1, V2)) 460.38/164.33 The remaining pairs can at least be oriented weakly. 460.38/164.33 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 460.38/164.33 460.38/164.33 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 460.38/164.33 POL( U51_2(x_1, x_2) ) = x_2 + 2 460.38/164.33 POL( U81_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 460.38/164.33 POL( U82_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.38/164.33 POL( U83_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.38/164.33 POL( U84_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 460.38/164.33 POL( U85_2(x_1, x_2) ) = x_2 + 2 460.38/164.33 POL( mark_1(x_1) ) = 2x_1 + 2 460.38/164.33 POL( zeros ) = 0 460.38/164.33 POL( active_1(x_1) ) = x_1 460.38/164.33 POL( cons_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 460.38/164.33 POL( 0 ) = 0 460.38/164.33 POL( U11_2(x_1, x_2) ) = max{0, x_2 - 2} 460.38/164.33 POL( tt ) = 2 460.38/164.33 POL( U12_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 460.38/164.33 POL( isNatIListKind_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U13_1(x_1) ) = max{0, x_1 - 2} 460.38/164.33 POL( isNatList_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 460.38/164.33 POL( U22_2(x_1, x_2) ) = 2x_1 + 2 460.38/164.33 POL( isNatKind_1(x_1) ) = 0 460.38/164.33 POL( U23_1(x_1) ) = max{0, -2} 460.38/164.33 POL( isNat_1(x_1) ) = 0 460.38/164.33 POL( U31_2(x_1, x_2) ) = max{0, x_1 - 2} 460.38/164.33 POL( U32_2(x_1, x_2) ) = max{0, 2x_2 - 2} 460.38/164.33 POL( U33_1(x_1) ) = x_1 + 2 460.38/164.33 POL( U41_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 460.38/164.33 POL( U42_3(x_1, ..., x_3) ) = 2x_2 + x_3 460.38/164.33 POL( U43_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 460.38/164.33 POL( U44_3(x_1, ..., x_3) ) = 2x_1 + 2 460.38/164.33 POL( U45_2(x_1, x_2) ) = 2x_2 + 2 460.38/164.33 POL( U46_1(x_1) ) = max{0, -2} 460.38/164.33 POL( isNatIList_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U52_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U86_1(x_1) ) = x_1 + 1 460.38/164.33 POL( U91_3(x_1, ..., x_3) ) = 2 460.38/164.33 POL( U92_3(x_1, ..., x_3) ) = x_1 + x_2 460.38/164.33 POL( U93_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 460.38/164.33 POL( U94_2(x_1, x_2) ) = max{0, x_1 - 1} 460.38/164.33 POL( s_1(x_1) ) = max{0, -2} 460.38/164.33 POL( length_1(x_1) ) = max{0, -2} 460.38/164.33 POL( U61_1(x_1) ) = 2 460.38/164.33 POL( U71_1(x_1) ) = 2 460.38/164.33 POL( nil ) = 0 460.38/164.33 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 460.38/164.33 460.38/164.33 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.38/164.33 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.33 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.33 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.33 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.33 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 460.38/164.33 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (362) 460.38/164.33 Obligation: 460.38/164.33 Q DP problem: 460.38/164.33 The TRS P consists of the following rules: 460.38/164.33 460.38/164.33 MARK(isNatIListKind(X)) -> ACTIVE(isNatIListKind(X)) 460.38/164.33 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.33 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.33 MARK(U52(X)) -> MARK(X) 460.38/164.33 MARK(isNatList(X)) -> ACTIVE(isNatList(X)) 460.38/164.33 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.33 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.33 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.33 MARK(U86(X)) -> MARK(X) 460.38/164.33 460.38/164.33 The TRS R consists of the following rules: 460.38/164.33 460.38/164.33 mark(zeros) -> active(zeros) 460.38/164.33 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.33 active(zeros) -> mark(cons(0, zeros)) 460.38/164.33 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.33 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.33 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.33 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.33 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.33 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.33 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.33 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.33 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.33 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.33 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.33 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.33 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.33 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.33 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.33 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.33 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.33 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.33 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.33 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.33 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.33 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.33 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.33 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.33 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.33 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.33 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.33 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.33 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.33 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.33 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.33 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.33 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.33 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.33 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.33 mark(s(X)) -> active(s(mark(X))) 460.38/164.33 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.33 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.33 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.33 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.33 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.33 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.33 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.33 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.33 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.33 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.33 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.33 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.33 mark(0) -> active(0) 460.38/164.33 mark(tt) -> active(tt) 460.38/164.33 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.33 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.33 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.33 mark(isNat(X)) -> active(isNat(X)) 460.38/164.33 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.33 mark(length(X)) -> active(length(mark(X))) 460.38/164.33 mark(nil) -> active(nil) 460.38/164.33 length(active(X)) -> length(X) 460.38/164.33 length(mark(X)) -> length(X) 460.38/164.33 active(U13(tt)) -> mark(tt) 460.38/164.33 active(U23(tt)) -> mark(tt) 460.38/164.33 active(U33(tt)) -> mark(tt) 460.38/164.33 active(U46(tt)) -> mark(tt) 460.38/164.33 active(U52(tt)) -> mark(tt) 460.38/164.33 active(U61(tt)) -> mark(tt) 460.38/164.33 active(U71(tt)) -> mark(tt) 460.38/164.33 active(U86(tt)) -> mark(tt) 460.38/164.33 active(isNat(0)) -> mark(tt) 460.38/164.33 active(isNatIList(zeros)) -> mark(tt) 460.38/164.33 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.33 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.33 active(isNatKind(0)) -> mark(tt) 460.38/164.33 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.33 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.33 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.33 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.33 U13(active(X)) -> U13(X) 460.38/164.33 U13(mark(X)) -> U13(X) 460.38/164.33 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.33 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.33 U23(active(X)) -> U23(X) 460.38/164.33 U23(mark(X)) -> U23(X) 460.38/164.33 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.33 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.33 U33(active(X)) -> U33(X) 460.38/164.33 U33(mark(X)) -> U33(X) 460.38/164.33 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.33 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.33 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.33 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.33 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.33 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.33 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.33 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.33 U46(active(X)) -> U46(X) 460.38/164.33 U46(mark(X)) -> U46(X) 460.38/164.33 U52(active(X)) -> U52(X) 460.38/164.33 U52(mark(X)) -> U52(X) 460.38/164.33 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.33 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 U86(active(X)) -> U86(X) 460.38/164.33 U86(mark(X)) -> U86(X) 460.38/164.33 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.33 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.33 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.33 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.33 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.33 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.33 s(active(X)) -> s(X) 460.38/164.33 s(mark(X)) -> s(X) 460.38/164.33 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.33 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.33 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.33 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.33 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.33 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.33 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.33 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U61(active(X)) -> U61(X) 460.38/164.33 U61(mark(X)) -> U61(X) 460.38/164.33 U71(active(X)) -> U71(X) 460.38/164.33 U71(mark(X)) -> U71(X) 460.38/164.33 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.33 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.33 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.33 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.33 460.38/164.33 The set Q consists of the following terms: 460.38/164.33 460.38/164.33 active(zeros) 460.38/164.33 active(U11(tt, x0)) 460.38/164.33 active(U12(tt, x0)) 460.38/164.33 active(U13(tt)) 460.38/164.33 active(U21(tt, x0)) 460.38/164.33 active(U22(tt, x0)) 460.38/164.33 active(U23(tt)) 460.38/164.33 active(U31(tt, x0)) 460.38/164.33 active(U32(tt, x0)) 460.38/164.33 active(U33(tt)) 460.38/164.33 active(U41(tt, x0, x1)) 460.38/164.33 active(U42(tt, x0, x1)) 460.38/164.33 active(U43(tt, x0, x1)) 460.38/164.33 active(U44(tt, x0, x1)) 460.38/164.33 active(U45(tt, x0)) 460.38/164.33 active(U46(tt)) 460.38/164.33 active(U51(tt, x0)) 460.38/164.33 active(U52(tt)) 460.38/164.33 active(U61(tt)) 460.38/164.33 active(U71(tt)) 460.38/164.33 active(U81(tt, x0, x1)) 460.38/164.33 active(U82(tt, x0, x1)) 460.38/164.33 active(U83(tt, x0, x1)) 460.38/164.33 active(U84(tt, x0, x1)) 460.38/164.33 active(U85(tt, x0)) 460.38/164.33 active(U86(tt)) 460.38/164.33 active(U91(tt, x0, x1)) 460.38/164.33 active(U92(tt, x0, x1)) 460.38/164.33 active(U93(tt, x0, x1)) 460.38/164.33 active(U94(tt, x0)) 460.38/164.33 active(isNat(0)) 460.38/164.33 active(isNat(length(x0))) 460.38/164.33 active(isNat(s(x0))) 460.38/164.33 active(isNatIList(x0)) 460.38/164.33 active(isNatIListKind(nil)) 460.38/164.33 active(isNatIListKind(zeros)) 460.38/164.33 active(isNatIListKind(cons(x0, x1))) 460.38/164.33 active(isNatKind(0)) 460.38/164.33 active(isNatKind(length(x0))) 460.38/164.33 active(isNatKind(s(x0))) 460.38/164.33 active(isNatList(nil)) 460.38/164.33 active(isNatList(cons(x0, x1))) 460.38/164.33 active(length(nil)) 460.38/164.33 active(length(cons(x0, x1))) 460.38/164.33 mark(zeros) 460.38/164.33 mark(cons(x0, x1)) 460.38/164.33 mark(0) 460.38/164.33 mark(U11(x0, x1)) 460.38/164.33 mark(tt) 460.38/164.33 mark(U12(x0, x1)) 460.38/164.33 mark(isNatIListKind(x0)) 460.38/164.33 mark(U13(x0)) 460.38/164.33 mark(isNatList(x0)) 460.38/164.33 mark(U21(x0, x1)) 460.38/164.33 mark(U22(x0, x1)) 460.38/164.33 mark(isNatKind(x0)) 460.38/164.33 mark(U23(x0)) 460.38/164.33 mark(isNat(x0)) 460.38/164.33 mark(U31(x0, x1)) 460.38/164.33 mark(U32(x0, x1)) 460.38/164.33 mark(U33(x0)) 460.38/164.33 mark(U41(x0, x1, x2)) 460.38/164.33 mark(U42(x0, x1, x2)) 460.38/164.33 mark(U43(x0, x1, x2)) 460.38/164.33 mark(U44(x0, x1, x2)) 460.38/164.33 mark(U45(x0, x1)) 460.38/164.33 mark(U46(x0)) 460.38/164.33 mark(isNatIList(x0)) 460.38/164.33 mark(U51(x0, x1)) 460.38/164.33 mark(U52(x0)) 460.38/164.33 mark(U61(x0)) 460.38/164.33 mark(U71(x0)) 460.38/164.33 mark(U81(x0, x1, x2)) 460.38/164.33 mark(U82(x0, x1, x2)) 460.38/164.33 mark(U83(x0, x1, x2)) 460.38/164.33 mark(U84(x0, x1, x2)) 460.38/164.33 mark(U85(x0, x1)) 460.38/164.33 mark(U86(x0)) 460.38/164.33 mark(U91(x0, x1, x2)) 460.38/164.33 mark(U92(x0, x1, x2)) 460.38/164.33 mark(U93(x0, x1, x2)) 460.38/164.33 mark(U94(x0, x1)) 460.38/164.33 mark(s(x0)) 460.38/164.33 mark(length(x0)) 460.38/164.33 mark(nil) 460.38/164.33 cons(mark(x0), x1) 460.38/164.33 cons(x0, mark(x1)) 460.38/164.33 cons(active(x0), x1) 460.38/164.33 cons(x0, active(x1)) 460.38/164.33 U11(mark(x0), x1) 460.38/164.33 U11(x0, mark(x1)) 460.38/164.33 U11(active(x0), x1) 460.38/164.33 U11(x0, active(x1)) 460.38/164.33 U12(mark(x0), x1) 460.38/164.33 U12(x0, mark(x1)) 460.38/164.33 U12(active(x0), x1) 460.38/164.33 U12(x0, active(x1)) 460.38/164.33 isNatIListKind(mark(x0)) 460.38/164.33 isNatIListKind(active(x0)) 460.38/164.33 U13(mark(x0)) 460.38/164.33 U13(active(x0)) 460.38/164.33 isNatList(mark(x0)) 460.38/164.33 isNatList(active(x0)) 460.38/164.33 U21(mark(x0), x1) 460.38/164.33 U21(x0, mark(x1)) 460.38/164.33 U21(active(x0), x1) 460.38/164.33 U21(x0, active(x1)) 460.38/164.33 U22(mark(x0), x1) 460.38/164.33 U22(x0, mark(x1)) 460.38/164.33 U22(active(x0), x1) 460.38/164.33 U22(x0, active(x1)) 460.38/164.33 isNatKind(mark(x0)) 460.38/164.33 isNatKind(active(x0)) 460.38/164.33 U23(mark(x0)) 460.38/164.33 U23(active(x0)) 460.38/164.33 isNat(mark(x0)) 460.38/164.33 isNat(active(x0)) 460.38/164.33 U31(mark(x0), x1) 460.38/164.33 U31(x0, mark(x1)) 460.38/164.33 U31(active(x0), x1) 460.38/164.33 U31(x0, active(x1)) 460.38/164.33 U32(mark(x0), x1) 460.38/164.33 U32(x0, mark(x1)) 460.38/164.33 U32(active(x0), x1) 460.38/164.33 U32(x0, active(x1)) 460.38/164.33 U33(mark(x0)) 460.38/164.33 U33(active(x0)) 460.38/164.33 U41(mark(x0), x1, x2) 460.38/164.33 U41(x0, mark(x1), x2) 460.38/164.33 U41(x0, x1, mark(x2)) 460.38/164.33 U41(active(x0), x1, x2) 460.38/164.33 U41(x0, active(x1), x2) 460.38/164.33 U41(x0, x1, active(x2)) 460.38/164.33 U42(mark(x0), x1, x2) 460.38/164.33 U42(x0, mark(x1), x2) 460.38/164.33 U42(x0, x1, mark(x2)) 460.38/164.33 U42(active(x0), x1, x2) 460.38/164.33 U42(x0, active(x1), x2) 460.38/164.33 U42(x0, x1, active(x2)) 460.38/164.33 U43(mark(x0), x1, x2) 460.38/164.33 U43(x0, mark(x1), x2) 460.38/164.33 U43(x0, x1, mark(x2)) 460.38/164.33 U43(active(x0), x1, x2) 460.38/164.33 U43(x0, active(x1), x2) 460.38/164.33 U43(x0, x1, active(x2)) 460.38/164.33 U44(mark(x0), x1, x2) 460.38/164.33 U44(x0, mark(x1), x2) 460.38/164.33 U44(x0, x1, mark(x2)) 460.38/164.33 U44(active(x0), x1, x2) 460.38/164.33 U44(x0, active(x1), x2) 460.38/164.33 U44(x0, x1, active(x2)) 460.38/164.33 U45(mark(x0), x1) 460.38/164.33 U45(x0, mark(x1)) 460.38/164.33 U45(active(x0), x1) 460.38/164.33 U45(x0, active(x1)) 460.38/164.33 U46(mark(x0)) 460.38/164.33 U46(active(x0)) 460.38/164.33 isNatIList(mark(x0)) 460.38/164.33 isNatIList(active(x0)) 460.38/164.33 U51(mark(x0), x1) 460.38/164.33 U51(x0, mark(x1)) 460.38/164.33 U51(active(x0), x1) 460.38/164.33 U51(x0, active(x1)) 460.38/164.33 U52(mark(x0)) 460.38/164.33 U52(active(x0)) 460.38/164.33 U61(mark(x0)) 460.38/164.33 U61(active(x0)) 460.38/164.33 U71(mark(x0)) 460.38/164.33 U71(active(x0)) 460.38/164.33 U81(mark(x0), x1, x2) 460.38/164.33 U81(x0, mark(x1), x2) 460.38/164.33 U81(x0, x1, mark(x2)) 460.38/164.33 U81(active(x0), x1, x2) 460.38/164.33 U81(x0, active(x1), x2) 460.38/164.33 U81(x0, x1, active(x2)) 460.38/164.33 U82(mark(x0), x1, x2) 460.38/164.33 U82(x0, mark(x1), x2) 460.38/164.33 U82(x0, x1, mark(x2)) 460.38/164.33 U82(active(x0), x1, x2) 460.38/164.33 U82(x0, active(x1), x2) 460.38/164.33 U82(x0, x1, active(x2)) 460.38/164.33 U83(mark(x0), x1, x2) 460.38/164.33 U83(x0, mark(x1), x2) 460.38/164.33 U83(x0, x1, mark(x2)) 460.38/164.33 U83(active(x0), x1, x2) 460.38/164.33 U83(x0, active(x1), x2) 460.38/164.33 U83(x0, x1, active(x2)) 460.38/164.33 U84(mark(x0), x1, x2) 460.38/164.33 U84(x0, mark(x1), x2) 460.38/164.33 U84(x0, x1, mark(x2)) 460.38/164.33 U84(active(x0), x1, x2) 460.38/164.33 U84(x0, active(x1), x2) 460.38/164.33 U84(x0, x1, active(x2)) 460.38/164.33 U85(mark(x0), x1) 460.38/164.33 U85(x0, mark(x1)) 460.38/164.33 U85(active(x0), x1) 460.38/164.33 U85(x0, active(x1)) 460.38/164.33 U86(mark(x0)) 460.38/164.33 U86(active(x0)) 460.38/164.33 U91(mark(x0), x1, x2) 460.38/164.33 U91(x0, mark(x1), x2) 460.38/164.33 U91(x0, x1, mark(x2)) 460.38/164.33 U91(active(x0), x1, x2) 460.38/164.33 U91(x0, active(x1), x2) 460.38/164.33 U91(x0, x1, active(x2)) 460.38/164.33 U92(mark(x0), x1, x2) 460.38/164.33 U92(x0, mark(x1), x2) 460.38/164.33 U92(x0, x1, mark(x2)) 460.38/164.33 U92(active(x0), x1, x2) 460.38/164.33 U92(x0, active(x1), x2) 460.38/164.33 U92(x0, x1, active(x2)) 460.38/164.33 U93(mark(x0), x1, x2) 460.38/164.33 U93(x0, mark(x1), x2) 460.38/164.33 U93(x0, x1, mark(x2)) 460.38/164.33 U93(active(x0), x1, x2) 460.38/164.33 U93(x0, active(x1), x2) 460.38/164.33 U93(x0, x1, active(x2)) 460.38/164.33 U94(mark(x0), x1) 460.38/164.33 U94(x0, mark(x1)) 460.38/164.33 U94(active(x0), x1) 460.38/164.33 U94(x0, active(x1)) 460.38/164.33 s(mark(x0)) 460.38/164.33 s(active(x0)) 460.38/164.33 length(mark(x0)) 460.38/164.33 length(active(x0)) 460.38/164.33 460.38/164.33 We have to consider all minimal (P,Q,R)-chains. 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (363) DependencyGraphProof (EQUIVALENT) 460.38/164.33 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (364) 460.38/164.33 Obligation: 460.38/164.33 Q DP problem: 460.38/164.33 The TRS P consists of the following rules: 460.38/164.33 460.38/164.33 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.33 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.33 MARK(U52(X)) -> MARK(X) 460.38/164.33 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.33 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.33 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.33 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.33 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.33 MARK(U86(X)) -> MARK(X) 460.38/164.33 460.38/164.33 The TRS R consists of the following rules: 460.38/164.33 460.38/164.33 mark(zeros) -> active(zeros) 460.38/164.33 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.33 active(zeros) -> mark(cons(0, zeros)) 460.38/164.33 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.33 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.33 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.33 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.33 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.33 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.33 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.33 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.33 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.33 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.33 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.33 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.33 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.33 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.33 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.33 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.33 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.33 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.33 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.33 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.33 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.33 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.33 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.33 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.33 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.33 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.33 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.33 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.33 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.33 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.33 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.33 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.33 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.33 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.33 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.33 mark(s(X)) -> active(s(mark(X))) 460.38/164.33 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.33 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.33 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.33 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.33 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.33 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.33 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.33 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.33 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.33 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.33 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.33 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.33 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.33 mark(0) -> active(0) 460.38/164.33 mark(tt) -> active(tt) 460.38/164.33 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.33 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.33 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.33 mark(isNat(X)) -> active(isNat(X)) 460.38/164.33 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.33 mark(length(X)) -> active(length(mark(X))) 460.38/164.33 mark(nil) -> active(nil) 460.38/164.33 length(active(X)) -> length(X) 460.38/164.33 length(mark(X)) -> length(X) 460.38/164.33 active(U13(tt)) -> mark(tt) 460.38/164.33 active(U23(tt)) -> mark(tt) 460.38/164.33 active(U33(tt)) -> mark(tt) 460.38/164.33 active(U46(tt)) -> mark(tt) 460.38/164.33 active(U52(tt)) -> mark(tt) 460.38/164.33 active(U61(tt)) -> mark(tt) 460.38/164.33 active(U71(tt)) -> mark(tt) 460.38/164.33 active(U86(tt)) -> mark(tt) 460.38/164.33 active(isNat(0)) -> mark(tt) 460.38/164.33 active(isNatIList(zeros)) -> mark(tt) 460.38/164.33 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.33 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.33 active(isNatKind(0)) -> mark(tt) 460.38/164.33 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.33 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.33 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.33 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.33 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.33 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.33 U13(active(X)) -> U13(X) 460.38/164.33 U13(mark(X)) -> U13(X) 460.38/164.33 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.33 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.33 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.33 U23(active(X)) -> U23(X) 460.38/164.33 U23(mark(X)) -> U23(X) 460.38/164.33 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.33 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.33 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.33 U33(active(X)) -> U33(X) 460.38/164.33 U33(mark(X)) -> U33(X) 460.38/164.33 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.33 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.33 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.33 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.33 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.33 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.33 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.33 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.33 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.33 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.33 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.33 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.33 U46(active(X)) -> U46(X) 460.38/164.33 U46(mark(X)) -> U46(X) 460.38/164.33 U52(active(X)) -> U52(X) 460.38/164.33 U52(mark(X)) -> U52(X) 460.38/164.33 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.33 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.33 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.33 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.33 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.33 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.33 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.33 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.33 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.33 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.33 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.33 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.33 U86(active(X)) -> U86(X) 460.38/164.33 U86(mark(X)) -> U86(X) 460.38/164.33 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.33 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.33 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.33 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.33 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.33 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.33 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.33 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.33 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.33 s(active(X)) -> s(X) 460.38/164.33 s(mark(X)) -> s(X) 460.38/164.33 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.33 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.33 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.33 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.33 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.33 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.33 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.33 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.33 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.33 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.33 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.33 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U61(active(X)) -> U61(X) 460.38/164.33 U61(mark(X)) -> U61(X) 460.38/164.33 U71(active(X)) -> U71(X) 460.38/164.33 U71(mark(X)) -> U71(X) 460.38/164.33 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.33 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.33 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.33 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.33 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.33 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.33 460.38/164.33 The set Q consists of the following terms: 460.38/164.33 460.38/164.33 active(zeros) 460.38/164.33 active(U11(tt, x0)) 460.38/164.33 active(U12(tt, x0)) 460.38/164.33 active(U13(tt)) 460.38/164.33 active(U21(tt, x0)) 460.38/164.33 active(U22(tt, x0)) 460.38/164.33 active(U23(tt)) 460.38/164.33 active(U31(tt, x0)) 460.38/164.33 active(U32(tt, x0)) 460.38/164.33 active(U33(tt)) 460.38/164.33 active(U41(tt, x0, x1)) 460.38/164.33 active(U42(tt, x0, x1)) 460.38/164.33 active(U43(tt, x0, x1)) 460.38/164.33 active(U44(tt, x0, x1)) 460.38/164.33 active(U45(tt, x0)) 460.38/164.33 active(U46(tt)) 460.38/164.33 active(U51(tt, x0)) 460.38/164.33 active(U52(tt)) 460.38/164.33 active(U61(tt)) 460.38/164.33 active(U71(tt)) 460.38/164.33 active(U81(tt, x0, x1)) 460.38/164.33 active(U82(tt, x0, x1)) 460.38/164.33 active(U83(tt, x0, x1)) 460.38/164.33 active(U84(tt, x0, x1)) 460.38/164.33 active(U85(tt, x0)) 460.38/164.33 active(U86(tt)) 460.38/164.33 active(U91(tt, x0, x1)) 460.38/164.33 active(U92(tt, x0, x1)) 460.38/164.33 active(U93(tt, x0, x1)) 460.38/164.33 active(U94(tt, x0)) 460.38/164.33 active(isNat(0)) 460.38/164.33 active(isNat(length(x0))) 460.38/164.33 active(isNat(s(x0))) 460.38/164.33 active(isNatIList(x0)) 460.38/164.33 active(isNatIListKind(nil)) 460.38/164.33 active(isNatIListKind(zeros)) 460.38/164.33 active(isNatIListKind(cons(x0, x1))) 460.38/164.33 active(isNatKind(0)) 460.38/164.33 active(isNatKind(length(x0))) 460.38/164.33 active(isNatKind(s(x0))) 460.38/164.33 active(isNatList(nil)) 460.38/164.33 active(isNatList(cons(x0, x1))) 460.38/164.33 active(length(nil)) 460.38/164.33 active(length(cons(x0, x1))) 460.38/164.33 mark(zeros) 460.38/164.33 mark(cons(x0, x1)) 460.38/164.33 mark(0) 460.38/164.33 mark(U11(x0, x1)) 460.38/164.33 mark(tt) 460.38/164.33 mark(U12(x0, x1)) 460.38/164.33 mark(isNatIListKind(x0)) 460.38/164.33 mark(U13(x0)) 460.38/164.33 mark(isNatList(x0)) 460.38/164.33 mark(U21(x0, x1)) 460.38/164.33 mark(U22(x0, x1)) 460.38/164.33 mark(isNatKind(x0)) 460.38/164.33 mark(U23(x0)) 460.38/164.33 mark(isNat(x0)) 460.38/164.33 mark(U31(x0, x1)) 460.38/164.33 mark(U32(x0, x1)) 460.38/164.33 mark(U33(x0)) 460.38/164.33 mark(U41(x0, x1, x2)) 460.38/164.33 mark(U42(x0, x1, x2)) 460.38/164.33 mark(U43(x0, x1, x2)) 460.38/164.33 mark(U44(x0, x1, x2)) 460.38/164.33 mark(U45(x0, x1)) 460.38/164.33 mark(U46(x0)) 460.38/164.33 mark(isNatIList(x0)) 460.38/164.33 mark(U51(x0, x1)) 460.38/164.33 mark(U52(x0)) 460.38/164.33 mark(U61(x0)) 460.38/164.33 mark(U71(x0)) 460.38/164.33 mark(U81(x0, x1, x2)) 460.38/164.33 mark(U82(x0, x1, x2)) 460.38/164.33 mark(U83(x0, x1, x2)) 460.38/164.33 mark(U84(x0, x1, x2)) 460.38/164.33 mark(U85(x0, x1)) 460.38/164.33 mark(U86(x0)) 460.38/164.33 mark(U91(x0, x1, x2)) 460.38/164.33 mark(U92(x0, x1, x2)) 460.38/164.33 mark(U93(x0, x1, x2)) 460.38/164.33 mark(U94(x0, x1)) 460.38/164.33 mark(s(x0)) 460.38/164.33 mark(length(x0)) 460.38/164.33 mark(nil) 460.38/164.33 cons(mark(x0), x1) 460.38/164.33 cons(x0, mark(x1)) 460.38/164.33 cons(active(x0), x1) 460.38/164.33 cons(x0, active(x1)) 460.38/164.33 U11(mark(x0), x1) 460.38/164.33 U11(x0, mark(x1)) 460.38/164.33 U11(active(x0), x1) 460.38/164.33 U11(x0, active(x1)) 460.38/164.33 U12(mark(x0), x1) 460.38/164.33 U12(x0, mark(x1)) 460.38/164.33 U12(active(x0), x1) 460.38/164.33 U12(x0, active(x1)) 460.38/164.33 isNatIListKind(mark(x0)) 460.38/164.33 isNatIListKind(active(x0)) 460.38/164.33 U13(mark(x0)) 460.38/164.33 U13(active(x0)) 460.38/164.33 isNatList(mark(x0)) 460.38/164.33 isNatList(active(x0)) 460.38/164.33 U21(mark(x0), x1) 460.38/164.33 U21(x0, mark(x1)) 460.38/164.33 U21(active(x0), x1) 460.38/164.33 U21(x0, active(x1)) 460.38/164.33 U22(mark(x0), x1) 460.38/164.33 U22(x0, mark(x1)) 460.38/164.33 U22(active(x0), x1) 460.38/164.33 U22(x0, active(x1)) 460.38/164.33 isNatKind(mark(x0)) 460.38/164.33 isNatKind(active(x0)) 460.38/164.33 U23(mark(x0)) 460.38/164.33 U23(active(x0)) 460.38/164.33 isNat(mark(x0)) 460.38/164.33 isNat(active(x0)) 460.38/164.33 U31(mark(x0), x1) 460.38/164.33 U31(x0, mark(x1)) 460.38/164.33 U31(active(x0), x1) 460.38/164.33 U31(x0, active(x1)) 460.38/164.33 U32(mark(x0), x1) 460.38/164.33 U32(x0, mark(x1)) 460.38/164.33 U32(active(x0), x1) 460.38/164.33 U32(x0, active(x1)) 460.38/164.33 U33(mark(x0)) 460.38/164.33 U33(active(x0)) 460.38/164.33 U41(mark(x0), x1, x2) 460.38/164.33 U41(x0, mark(x1), x2) 460.38/164.33 U41(x0, x1, mark(x2)) 460.38/164.33 U41(active(x0), x1, x2) 460.38/164.33 U41(x0, active(x1), x2) 460.38/164.33 U41(x0, x1, active(x2)) 460.38/164.33 U42(mark(x0), x1, x2) 460.38/164.33 U42(x0, mark(x1), x2) 460.38/164.33 U42(x0, x1, mark(x2)) 460.38/164.33 U42(active(x0), x1, x2) 460.38/164.33 U42(x0, active(x1), x2) 460.38/164.33 U42(x0, x1, active(x2)) 460.38/164.33 U43(mark(x0), x1, x2) 460.38/164.33 U43(x0, mark(x1), x2) 460.38/164.33 U43(x0, x1, mark(x2)) 460.38/164.33 U43(active(x0), x1, x2) 460.38/164.33 U43(x0, active(x1), x2) 460.38/164.33 U43(x0, x1, active(x2)) 460.38/164.33 U44(mark(x0), x1, x2) 460.38/164.33 U44(x0, mark(x1), x2) 460.38/164.33 U44(x0, x1, mark(x2)) 460.38/164.33 U44(active(x0), x1, x2) 460.38/164.33 U44(x0, active(x1), x2) 460.38/164.33 U44(x0, x1, active(x2)) 460.38/164.33 U45(mark(x0), x1) 460.38/164.33 U45(x0, mark(x1)) 460.38/164.33 U45(active(x0), x1) 460.38/164.33 U45(x0, active(x1)) 460.38/164.33 U46(mark(x0)) 460.38/164.33 U46(active(x0)) 460.38/164.33 isNatIList(mark(x0)) 460.38/164.33 isNatIList(active(x0)) 460.38/164.33 U51(mark(x0), x1) 460.38/164.33 U51(x0, mark(x1)) 460.38/164.33 U51(active(x0), x1) 460.38/164.33 U51(x0, active(x1)) 460.38/164.33 U52(mark(x0)) 460.38/164.33 U52(active(x0)) 460.38/164.33 U61(mark(x0)) 460.38/164.33 U61(active(x0)) 460.38/164.33 U71(mark(x0)) 460.38/164.33 U71(active(x0)) 460.38/164.33 U81(mark(x0), x1, x2) 460.38/164.33 U81(x0, mark(x1), x2) 460.38/164.33 U81(x0, x1, mark(x2)) 460.38/164.33 U81(active(x0), x1, x2) 460.38/164.33 U81(x0, active(x1), x2) 460.38/164.33 U81(x0, x1, active(x2)) 460.38/164.33 U82(mark(x0), x1, x2) 460.38/164.33 U82(x0, mark(x1), x2) 460.38/164.33 U82(x0, x1, mark(x2)) 460.38/164.33 U82(active(x0), x1, x2) 460.38/164.33 U82(x0, active(x1), x2) 460.38/164.33 U82(x0, x1, active(x2)) 460.38/164.33 U83(mark(x0), x1, x2) 460.38/164.33 U83(x0, mark(x1), x2) 460.38/164.33 U83(x0, x1, mark(x2)) 460.38/164.33 U83(active(x0), x1, x2) 460.38/164.33 U83(x0, active(x1), x2) 460.38/164.33 U83(x0, x1, active(x2)) 460.38/164.33 U84(mark(x0), x1, x2) 460.38/164.33 U84(x0, mark(x1), x2) 460.38/164.33 U84(x0, x1, mark(x2)) 460.38/164.33 U84(active(x0), x1, x2) 460.38/164.33 U84(x0, active(x1), x2) 460.38/164.33 U84(x0, x1, active(x2)) 460.38/164.33 U85(mark(x0), x1) 460.38/164.33 U85(x0, mark(x1)) 460.38/164.33 U85(active(x0), x1) 460.38/164.33 U85(x0, active(x1)) 460.38/164.33 U86(mark(x0)) 460.38/164.33 U86(active(x0)) 460.38/164.33 U91(mark(x0), x1, x2) 460.38/164.33 U91(x0, mark(x1), x2) 460.38/164.33 U91(x0, x1, mark(x2)) 460.38/164.33 U91(active(x0), x1, x2) 460.38/164.33 U91(x0, active(x1), x2) 460.38/164.33 U91(x0, x1, active(x2)) 460.38/164.33 U92(mark(x0), x1, x2) 460.38/164.33 U92(x0, mark(x1), x2) 460.38/164.33 U92(x0, x1, mark(x2)) 460.38/164.33 U92(active(x0), x1, x2) 460.38/164.33 U92(x0, active(x1), x2) 460.38/164.33 U92(x0, x1, active(x2)) 460.38/164.33 U93(mark(x0), x1, x2) 460.38/164.33 U93(x0, mark(x1), x2) 460.38/164.33 U93(x0, x1, mark(x2)) 460.38/164.33 U93(active(x0), x1, x2) 460.38/164.33 U93(x0, active(x1), x2) 460.38/164.33 U93(x0, x1, active(x2)) 460.38/164.33 U94(mark(x0), x1) 460.38/164.33 U94(x0, mark(x1)) 460.38/164.33 U94(active(x0), x1) 460.38/164.33 U94(x0, active(x1)) 460.38/164.33 s(mark(x0)) 460.38/164.33 s(active(x0)) 460.38/164.33 length(mark(x0)) 460.38/164.33 length(active(x0)) 460.38/164.33 460.38/164.33 We have to consider all minimal (P,Q,R)-chains. 460.38/164.33 ---------------------------------------- 460.38/164.33 460.38/164.33 (365) QDPOrderProof (EQUIVALENT) 460.38/164.33 We use the reduction pair processor [LPAR04,JAR06]. 460.38/164.33 460.38/164.33 460.38/164.33 The following pairs can be oriented strictly and are deleted. 460.38/164.33 460.38/164.33 ACTIVE(U51(tt, V2)) -> MARK(U52(isNatIListKind(V2))) 460.38/164.33 ACTIVE(U81(tt, V1, V2)) -> MARK(U82(isNatKind(V1), V1, V2)) 460.38/164.33 ACTIVE(U82(tt, V1, V2)) -> MARK(U83(isNatIListKind(V2), V1, V2)) 460.38/164.33 ACTIVE(U83(tt, V1, V2)) -> MARK(U84(isNatIListKind(V2), V1, V2)) 460.38/164.33 ACTIVE(U84(tt, V1, V2)) -> MARK(U85(isNat(V1), V2)) 460.38/164.33 ACTIVE(U85(tt, V2)) -> MARK(U86(isNatList(V2))) 460.38/164.33 The remaining pairs can at least be oriented weakly. 460.38/164.33 Used ordering: Combined order from the following AFS and order. 460.38/164.33 MARK(x1) = x1 460.38/164.33 460.38/164.33 U51(x1, x2) = U51 460.38/164.33 460.38/164.33 ACTIVE(x1) = x1 460.38/164.33 460.38/164.33 U52(x1) = x1 460.38/164.33 460.38/164.33 isNatIListKind(x1) = isNatIListKind 460.38/164.33 460.38/164.33 U81(x1, x2, x3) = U81 460.38/164.33 460.38/164.33 U82(x1, x2, x3) = U82 460.38/164.33 460.38/164.33 U83(x1, x2, x3) = U83 460.38/164.33 460.38/164.33 U84(x1, x2, x3) = U84 460.38/164.33 460.38/164.33 U85(x1, x2) = U85 460.38/164.33 460.38/164.33 U86(x1) = x1 460.38/164.33 460.38/164.33 isNatList(x1) = isNatList 460.38/164.33 460.38/164.33 460.38/164.33 Knuth-Bendix order [KBO] with precedence:trivial 460.38/164.33 460.38/164.33 and weight map: 460.38/164.33 460.38/164.33 isNatIListKind=1 460.38/164.33 U82=6 460.38/164.33 U83=5 460.38/164.33 U51=2 460.38/164.33 U81=7 460.38/164.33 U84=4 460.38/164.33 U85=3 460.38/164.33 isNatList=2 460.38/164.33 460.38/164.33 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 460.38/164.33 460.38/164.33 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.33 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.33 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.33 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.34 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.34 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.34 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.34 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.34 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.34 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.34 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.34 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.34 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.34 460.38/164.34 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (366) 460.38/164.34 Obligation: 460.38/164.34 Q DP problem: 460.38/164.34 The TRS P consists of the following rules: 460.38/164.34 460.38/164.34 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 460.38/164.34 MARK(U52(X)) -> MARK(X) 460.38/164.34 MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) 460.38/164.34 MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) 460.38/164.34 MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) 460.38/164.34 MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) 460.38/164.34 MARK(U85(X1, X2)) -> ACTIVE(U85(mark(X1), X2)) 460.38/164.34 MARK(U86(X)) -> MARK(X) 460.38/164.34 460.38/164.34 The TRS R consists of the following rules: 460.38/164.34 460.38/164.34 mark(zeros) -> active(zeros) 460.38/164.34 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.34 active(zeros) -> mark(cons(0, zeros)) 460.38/164.34 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.34 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.34 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.34 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.34 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.34 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.34 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.34 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.34 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.34 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.34 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.34 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.34 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.34 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.34 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.34 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.34 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.34 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.34 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.34 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.34 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.34 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.34 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.34 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.34 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.34 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.34 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.34 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.34 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.34 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.34 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.34 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.34 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.34 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.34 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.34 mark(s(X)) -> active(s(mark(X))) 460.38/164.34 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.34 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.34 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.34 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.34 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.34 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.34 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.34 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.34 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.34 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.34 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.34 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.34 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.34 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.34 mark(0) -> active(0) 460.38/164.34 mark(tt) -> active(tt) 460.38/164.34 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.34 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.34 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.34 mark(isNat(X)) -> active(isNat(X)) 460.38/164.34 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.34 mark(length(X)) -> active(length(mark(X))) 460.38/164.34 mark(nil) -> active(nil) 460.38/164.34 length(active(X)) -> length(X) 460.38/164.34 length(mark(X)) -> length(X) 460.38/164.34 active(U13(tt)) -> mark(tt) 460.38/164.34 active(U23(tt)) -> mark(tt) 460.38/164.34 active(U33(tt)) -> mark(tt) 460.38/164.34 active(U46(tt)) -> mark(tt) 460.38/164.34 active(U52(tt)) -> mark(tt) 460.38/164.34 active(U61(tt)) -> mark(tt) 460.38/164.34 active(U71(tt)) -> mark(tt) 460.38/164.34 active(U86(tt)) -> mark(tt) 460.38/164.34 active(isNat(0)) -> mark(tt) 460.38/164.34 active(isNatIList(zeros)) -> mark(tt) 460.38/164.34 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.34 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.34 active(isNatKind(0)) -> mark(tt) 460.38/164.34 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.34 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.34 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.34 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.34 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.34 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.34 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.34 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.34 U13(active(X)) -> U13(X) 460.38/164.34 U13(mark(X)) -> U13(X) 460.38/164.34 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.34 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.34 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.34 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.34 U23(active(X)) -> U23(X) 460.38/164.34 U23(mark(X)) -> U23(X) 460.38/164.34 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.34 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.34 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.34 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.34 U33(active(X)) -> U33(X) 460.38/164.34 U33(mark(X)) -> U33(X) 460.38/164.34 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.34 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.34 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.34 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.34 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.34 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.34 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.34 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.34 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.34 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.34 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.34 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.34 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.34 U46(active(X)) -> U46(X) 460.38/164.34 U46(mark(X)) -> U46(X) 460.38/164.34 U52(active(X)) -> U52(X) 460.38/164.34 U52(mark(X)) -> U52(X) 460.38/164.34 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.34 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.34 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.34 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.34 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.34 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.34 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.34 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.34 U86(active(X)) -> U86(X) 460.38/164.34 U86(mark(X)) -> U86(X) 460.38/164.34 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.34 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.34 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.34 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.34 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.34 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.34 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.34 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.34 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.34 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.34 s(active(X)) -> s(X) 460.38/164.34 s(mark(X)) -> s(X) 460.38/164.34 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.34 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.34 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.34 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.34 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.34 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.34 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.34 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.34 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.34 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.34 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.34 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.34 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.34 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.34 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.34 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.34 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.34 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.34 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.34 U61(active(X)) -> U61(X) 460.38/164.34 U61(mark(X)) -> U61(X) 460.38/164.34 U71(active(X)) -> U71(X) 460.38/164.34 U71(mark(X)) -> U71(X) 460.38/164.34 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.34 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.34 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.34 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.34 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.34 460.38/164.34 The set Q consists of the following terms: 460.38/164.34 460.38/164.34 active(zeros) 460.38/164.34 active(U11(tt, x0)) 460.38/164.34 active(U12(tt, x0)) 460.38/164.34 active(U13(tt)) 460.38/164.34 active(U21(tt, x0)) 460.38/164.34 active(U22(tt, x0)) 460.38/164.34 active(U23(tt)) 460.38/164.34 active(U31(tt, x0)) 460.38/164.34 active(U32(tt, x0)) 460.38/164.34 active(U33(tt)) 460.38/164.34 active(U41(tt, x0, x1)) 460.38/164.34 active(U42(tt, x0, x1)) 460.38/164.34 active(U43(tt, x0, x1)) 460.38/164.34 active(U44(tt, x0, x1)) 460.38/164.34 active(U45(tt, x0)) 460.38/164.34 active(U46(tt)) 460.38/164.34 active(U51(tt, x0)) 460.38/164.34 active(U52(tt)) 460.38/164.34 active(U61(tt)) 460.38/164.34 active(U71(tt)) 460.38/164.34 active(U81(tt, x0, x1)) 460.38/164.34 active(U82(tt, x0, x1)) 460.38/164.34 active(U83(tt, x0, x1)) 460.38/164.34 active(U84(tt, x0, x1)) 460.38/164.34 active(U85(tt, x0)) 460.38/164.34 active(U86(tt)) 460.38/164.34 active(U91(tt, x0, x1)) 460.38/164.34 active(U92(tt, x0, x1)) 460.38/164.34 active(U93(tt, x0, x1)) 460.38/164.34 active(U94(tt, x0)) 460.38/164.34 active(isNat(0)) 460.38/164.34 active(isNat(length(x0))) 460.38/164.34 active(isNat(s(x0))) 460.38/164.34 active(isNatIList(x0)) 460.38/164.34 active(isNatIListKind(nil)) 460.38/164.34 active(isNatIListKind(zeros)) 460.38/164.34 active(isNatIListKind(cons(x0, x1))) 460.38/164.34 active(isNatKind(0)) 460.38/164.34 active(isNatKind(length(x0))) 460.38/164.34 active(isNatKind(s(x0))) 460.38/164.34 active(isNatList(nil)) 460.38/164.34 active(isNatList(cons(x0, x1))) 460.38/164.34 active(length(nil)) 460.38/164.34 active(length(cons(x0, x1))) 460.38/164.34 mark(zeros) 460.38/164.34 mark(cons(x0, x1)) 460.38/164.34 mark(0) 460.38/164.34 mark(U11(x0, x1)) 460.38/164.34 mark(tt) 460.38/164.34 mark(U12(x0, x1)) 460.38/164.34 mark(isNatIListKind(x0)) 460.38/164.34 mark(U13(x0)) 460.38/164.34 mark(isNatList(x0)) 460.38/164.34 mark(U21(x0, x1)) 460.38/164.34 mark(U22(x0, x1)) 460.38/164.34 mark(isNatKind(x0)) 460.38/164.34 mark(U23(x0)) 460.38/164.34 mark(isNat(x0)) 460.38/164.34 mark(U31(x0, x1)) 460.38/164.34 mark(U32(x0, x1)) 460.38/164.34 mark(U33(x0)) 460.38/164.34 mark(U41(x0, x1, x2)) 460.38/164.34 mark(U42(x0, x1, x2)) 460.38/164.34 mark(U43(x0, x1, x2)) 460.38/164.34 mark(U44(x0, x1, x2)) 460.38/164.34 mark(U45(x0, x1)) 460.38/164.34 mark(U46(x0)) 460.38/164.34 mark(isNatIList(x0)) 460.38/164.34 mark(U51(x0, x1)) 460.38/164.34 mark(U52(x0)) 460.38/164.34 mark(U61(x0)) 460.38/164.34 mark(U71(x0)) 460.38/164.34 mark(U81(x0, x1, x2)) 460.38/164.34 mark(U82(x0, x1, x2)) 460.38/164.34 mark(U83(x0, x1, x2)) 460.38/164.34 mark(U84(x0, x1, x2)) 460.38/164.34 mark(U85(x0, x1)) 460.38/164.34 mark(U86(x0)) 460.38/164.34 mark(U91(x0, x1, x2)) 460.38/164.34 mark(U92(x0, x1, x2)) 460.38/164.34 mark(U93(x0, x1, x2)) 460.38/164.34 mark(U94(x0, x1)) 460.38/164.34 mark(s(x0)) 460.38/164.34 mark(length(x0)) 460.38/164.34 mark(nil) 460.38/164.34 cons(mark(x0), x1) 460.38/164.34 cons(x0, mark(x1)) 460.38/164.34 cons(active(x0), x1) 460.38/164.34 cons(x0, active(x1)) 460.38/164.34 U11(mark(x0), x1) 460.38/164.34 U11(x0, mark(x1)) 460.38/164.34 U11(active(x0), x1) 460.38/164.34 U11(x0, active(x1)) 460.38/164.34 U12(mark(x0), x1) 460.38/164.34 U12(x0, mark(x1)) 460.38/164.34 U12(active(x0), x1) 460.38/164.34 U12(x0, active(x1)) 460.38/164.34 isNatIListKind(mark(x0)) 460.38/164.34 isNatIListKind(active(x0)) 460.38/164.34 U13(mark(x0)) 460.38/164.34 U13(active(x0)) 460.38/164.34 isNatList(mark(x0)) 460.38/164.34 isNatList(active(x0)) 460.38/164.34 U21(mark(x0), x1) 460.38/164.34 U21(x0, mark(x1)) 460.38/164.34 U21(active(x0), x1) 460.38/164.34 U21(x0, active(x1)) 460.38/164.34 U22(mark(x0), x1) 460.38/164.34 U22(x0, mark(x1)) 460.38/164.34 U22(active(x0), x1) 460.38/164.34 U22(x0, active(x1)) 460.38/164.34 isNatKind(mark(x0)) 460.38/164.34 isNatKind(active(x0)) 460.38/164.34 U23(mark(x0)) 460.38/164.34 U23(active(x0)) 460.38/164.34 isNat(mark(x0)) 460.38/164.34 isNat(active(x0)) 460.38/164.34 U31(mark(x0), x1) 460.38/164.34 U31(x0, mark(x1)) 460.38/164.34 U31(active(x0), x1) 460.38/164.34 U31(x0, active(x1)) 460.38/164.34 U32(mark(x0), x1) 460.38/164.34 U32(x0, mark(x1)) 460.38/164.34 U32(active(x0), x1) 460.38/164.34 U32(x0, active(x1)) 460.38/164.34 U33(mark(x0)) 460.38/164.34 U33(active(x0)) 460.38/164.34 U41(mark(x0), x1, x2) 460.38/164.34 U41(x0, mark(x1), x2) 460.38/164.34 U41(x0, x1, mark(x2)) 460.38/164.34 U41(active(x0), x1, x2) 460.38/164.34 U41(x0, active(x1), x2) 460.38/164.34 U41(x0, x1, active(x2)) 460.38/164.34 U42(mark(x0), x1, x2) 460.38/164.34 U42(x0, mark(x1), x2) 460.38/164.34 U42(x0, x1, mark(x2)) 460.38/164.34 U42(active(x0), x1, x2) 460.38/164.34 U42(x0, active(x1), x2) 460.38/164.34 U42(x0, x1, active(x2)) 460.38/164.34 U43(mark(x0), x1, x2) 460.38/164.34 U43(x0, mark(x1), x2) 460.38/164.34 U43(x0, x1, mark(x2)) 460.38/164.34 U43(active(x0), x1, x2) 460.38/164.34 U43(x0, active(x1), x2) 460.38/164.34 U43(x0, x1, active(x2)) 460.38/164.34 U44(mark(x0), x1, x2) 460.38/164.34 U44(x0, mark(x1), x2) 460.38/164.34 U44(x0, x1, mark(x2)) 460.38/164.34 U44(active(x0), x1, x2) 460.38/164.34 U44(x0, active(x1), x2) 460.38/164.34 U44(x0, x1, active(x2)) 460.38/164.34 U45(mark(x0), x1) 460.38/164.34 U45(x0, mark(x1)) 460.38/164.34 U45(active(x0), x1) 460.38/164.34 U45(x0, active(x1)) 460.38/164.34 U46(mark(x0)) 460.38/164.34 U46(active(x0)) 460.38/164.34 isNatIList(mark(x0)) 460.38/164.34 isNatIList(active(x0)) 460.38/164.34 U51(mark(x0), x1) 460.38/164.34 U51(x0, mark(x1)) 460.38/164.34 U51(active(x0), x1) 460.38/164.34 U51(x0, active(x1)) 460.38/164.34 U52(mark(x0)) 460.38/164.34 U52(active(x0)) 460.38/164.34 U61(mark(x0)) 460.38/164.34 U61(active(x0)) 460.38/164.34 U71(mark(x0)) 460.38/164.34 U71(active(x0)) 460.38/164.34 U81(mark(x0), x1, x2) 460.38/164.34 U81(x0, mark(x1), x2) 460.38/164.34 U81(x0, x1, mark(x2)) 460.38/164.34 U81(active(x0), x1, x2) 460.38/164.34 U81(x0, active(x1), x2) 460.38/164.34 U81(x0, x1, active(x2)) 460.38/164.34 U82(mark(x0), x1, x2) 460.38/164.34 U82(x0, mark(x1), x2) 460.38/164.34 U82(x0, x1, mark(x2)) 460.38/164.34 U82(active(x0), x1, x2) 460.38/164.34 U82(x0, active(x1), x2) 460.38/164.34 U82(x0, x1, active(x2)) 460.38/164.34 U83(mark(x0), x1, x2) 460.38/164.34 U83(x0, mark(x1), x2) 460.38/164.34 U83(x0, x1, mark(x2)) 460.38/164.34 U83(active(x0), x1, x2) 460.38/164.34 U83(x0, active(x1), x2) 460.38/164.34 U83(x0, x1, active(x2)) 460.38/164.34 U84(mark(x0), x1, x2) 460.38/164.34 U84(x0, mark(x1), x2) 460.38/164.34 U84(x0, x1, mark(x2)) 460.38/164.34 U84(active(x0), x1, x2) 460.38/164.34 U84(x0, active(x1), x2) 460.38/164.34 U84(x0, x1, active(x2)) 460.38/164.34 U85(mark(x0), x1) 460.38/164.34 U85(x0, mark(x1)) 460.38/164.34 U85(active(x0), x1) 460.38/164.34 U85(x0, active(x1)) 460.38/164.34 U86(mark(x0)) 460.38/164.34 U86(active(x0)) 460.38/164.34 U91(mark(x0), x1, x2) 460.38/164.34 U91(x0, mark(x1), x2) 460.38/164.34 U91(x0, x1, mark(x2)) 460.38/164.34 U91(active(x0), x1, x2) 460.38/164.34 U91(x0, active(x1), x2) 460.38/164.34 U91(x0, x1, active(x2)) 460.38/164.34 U92(mark(x0), x1, x2) 460.38/164.34 U92(x0, mark(x1), x2) 460.38/164.34 U92(x0, x1, mark(x2)) 460.38/164.34 U92(active(x0), x1, x2) 460.38/164.34 U92(x0, active(x1), x2) 460.38/164.34 U92(x0, x1, active(x2)) 460.38/164.34 U93(mark(x0), x1, x2) 460.38/164.34 U93(x0, mark(x1), x2) 460.38/164.34 U93(x0, x1, mark(x2)) 460.38/164.34 U93(active(x0), x1, x2) 460.38/164.34 U93(x0, active(x1), x2) 460.38/164.34 U93(x0, x1, active(x2)) 460.38/164.34 U94(mark(x0), x1) 460.38/164.34 U94(x0, mark(x1)) 460.38/164.34 U94(active(x0), x1) 460.38/164.34 U94(x0, active(x1)) 460.38/164.34 s(mark(x0)) 460.38/164.34 s(active(x0)) 460.38/164.34 length(mark(x0)) 460.38/164.34 length(active(x0)) 460.38/164.34 460.38/164.34 We have to consider all minimal (P,Q,R)-chains. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (367) DependencyGraphProof (EQUIVALENT) 460.38/164.34 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (368) 460.38/164.34 Obligation: 460.38/164.34 Q DP problem: 460.38/164.34 The TRS P consists of the following rules: 460.38/164.34 460.38/164.34 MARK(U86(X)) -> MARK(X) 460.38/164.34 MARK(U52(X)) -> MARK(X) 460.38/164.34 460.38/164.34 The TRS R consists of the following rules: 460.38/164.34 460.38/164.34 mark(zeros) -> active(zeros) 460.38/164.34 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 460.38/164.34 active(zeros) -> mark(cons(0, zeros)) 460.38/164.34 active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) 460.38/164.34 mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) 460.38/164.34 active(U12(tt, V1)) -> mark(U13(isNatList(V1))) 460.38/164.34 mark(U13(X)) -> active(U13(mark(X))) 460.38/164.34 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 460.38/164.34 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 460.38/164.34 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 460.38/164.34 mark(U23(X)) -> active(U23(mark(X))) 460.38/164.34 active(U31(tt, V)) -> mark(U32(isNatIListKind(V), V)) 460.38/164.34 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)) 460.38/164.34 active(U32(tt, V)) -> mark(U33(isNatList(V))) 460.38/164.34 mark(U33(X)) -> active(U33(mark(X))) 460.38/164.34 active(U41(tt, V1, V2)) -> mark(U42(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 460.38/164.34 active(U42(tt, V1, V2)) -> mark(U43(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U43(X1, X2, X3)) -> active(U43(mark(X1), X2, X3)) 460.38/164.34 active(U43(tt, V1, V2)) -> mark(U44(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U44(X1, X2, X3)) -> active(U44(mark(X1), X2, X3)) 460.38/164.34 active(U44(tt, V1, V2)) -> mark(U45(isNat(V1), V2)) 460.38/164.34 mark(U45(X1, X2)) -> active(U45(mark(X1), X2)) 460.38/164.34 active(U45(tt, V2)) -> mark(U46(isNatIList(V2))) 460.38/164.34 mark(U46(X)) -> active(U46(mark(X))) 460.38/164.34 active(U51(tt, V2)) -> mark(U52(isNatIListKind(V2))) 460.38/164.34 mark(U52(X)) -> active(U52(mark(X))) 460.38/164.34 active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) 460.38/164.34 active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) 460.38/164.34 active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) 460.38/164.34 mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) 460.38/164.34 active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) 460.38/164.34 mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) 460.38/164.34 active(U85(tt, V2)) -> mark(U86(isNatList(V2))) 460.38/164.34 mark(U86(X)) -> active(U86(mark(X))) 460.38/164.34 active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) 460.38/164.34 mark(U92(X1, X2, X3)) -> active(U92(mark(X1), X2, X3)) 460.38/164.34 active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) 460.38/164.34 mark(U93(X1, X2, X3)) -> active(U93(mark(X1), X2, X3)) 460.38/164.34 active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) 460.38/164.34 mark(U94(X1, X2)) -> active(U94(mark(X1), X2)) 460.38/164.34 active(U94(tt, L)) -> mark(s(length(L))) 460.38/164.34 mark(s(X)) -> active(s(mark(X))) 460.38/164.34 active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1), V1)) 460.38/164.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 460.38/164.34 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 460.38/164.34 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 460.38/164.34 active(isNatIList(V)) -> mark(U31(isNatIListKind(V), V)) 460.38/164.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 460.38/164.34 active(isNatIList(cons(V1, V2))) -> mark(U41(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 460.38/164.34 active(isNatIListKind(cons(V1, V2))) -> mark(U51(isNatKind(V1), V2)) 460.38/164.34 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 460.38/164.34 active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) 460.38/164.34 mark(U61(X)) -> active(U61(mark(X))) 460.38/164.34 active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) 460.38/164.34 mark(U71(X)) -> active(U71(mark(X))) 460.38/164.34 active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) 460.38/164.34 mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) 460.38/164.34 active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) 460.38/164.34 mark(U91(X1, X2, X3)) -> active(U91(mark(X1), X2, X3)) 460.38/164.34 mark(0) -> active(0) 460.38/164.34 mark(tt) -> active(tt) 460.38/164.34 mark(isNatIListKind(X)) -> active(isNatIListKind(X)) 460.38/164.34 mark(isNatList(X)) -> active(isNatList(X)) 460.38/164.34 mark(isNatKind(X)) -> active(isNatKind(X)) 460.38/164.34 mark(isNat(X)) -> active(isNat(X)) 460.38/164.34 mark(isNatIList(X)) -> active(isNatIList(X)) 460.38/164.34 mark(length(X)) -> active(length(mark(X))) 460.38/164.34 mark(nil) -> active(nil) 460.38/164.34 length(active(X)) -> length(X) 460.38/164.34 length(mark(X)) -> length(X) 460.38/164.34 active(U13(tt)) -> mark(tt) 460.38/164.34 active(U23(tt)) -> mark(tt) 460.38/164.34 active(U33(tt)) -> mark(tt) 460.38/164.34 active(U46(tt)) -> mark(tt) 460.38/164.34 active(U52(tt)) -> mark(tt) 460.38/164.34 active(U61(tt)) -> mark(tt) 460.38/164.34 active(U71(tt)) -> mark(tt) 460.38/164.34 active(U86(tt)) -> mark(tt) 460.38/164.34 active(isNat(0)) -> mark(tt) 460.38/164.34 active(isNatIList(zeros)) -> mark(tt) 460.38/164.34 active(isNatIListKind(nil)) -> mark(tt) 460.38/164.34 active(isNatIListKind(zeros)) -> mark(tt) 460.38/164.34 active(isNatKind(0)) -> mark(tt) 460.38/164.34 cons(X1, mark(X2)) -> cons(X1, X2) 460.38/164.34 cons(mark(X1), X2) -> cons(X1, X2) 460.38/164.34 cons(active(X1), X2) -> cons(X1, X2) 460.38/164.34 cons(X1, active(X2)) -> cons(X1, X2) 460.38/164.34 U12(X1, mark(X2)) -> U12(X1, X2) 460.38/164.34 U12(mark(X1), X2) -> U12(X1, X2) 460.38/164.34 U12(active(X1), X2) -> U12(X1, X2) 460.38/164.34 U12(X1, active(X2)) -> U12(X1, X2) 460.38/164.34 U13(active(X)) -> U13(X) 460.38/164.34 U13(mark(X)) -> U13(X) 460.38/164.34 U22(X1, mark(X2)) -> U22(X1, X2) 460.38/164.34 U22(mark(X1), X2) -> U22(X1, X2) 460.38/164.34 U22(active(X1), X2) -> U22(X1, X2) 460.38/164.34 U22(X1, active(X2)) -> U22(X1, X2) 460.38/164.34 U23(active(X)) -> U23(X) 460.38/164.34 U23(mark(X)) -> U23(X) 460.38/164.34 U32(X1, mark(X2)) -> U32(X1, X2) 460.38/164.34 U32(mark(X1), X2) -> U32(X1, X2) 460.38/164.34 U32(active(X1), X2) -> U32(X1, X2) 460.38/164.34 U32(X1, active(X2)) -> U32(X1, X2) 460.38/164.34 U33(active(X)) -> U33(X) 460.38/164.34 U33(mark(X)) -> U33(X) 460.38/164.34 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 460.38/164.34 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 460.38/164.34 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 460.38/164.34 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 460.38/164.34 U43(X1, mark(X2), X3) -> U43(X1, X2, X3) 460.38/164.34 U43(mark(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, X2, mark(X3)) -> U43(X1, X2, X3) 460.38/164.34 U43(active(X1), X2, X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, active(X2), X3) -> U43(X1, X2, X3) 460.38/164.34 U43(X1, X2, active(X3)) -> U43(X1, X2, X3) 460.38/164.34 U44(X1, mark(X2), X3) -> U44(X1, X2, X3) 460.38/164.34 U44(mark(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, X2, mark(X3)) -> U44(X1, X2, X3) 460.38/164.34 U44(active(X1), X2, X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, active(X2), X3) -> U44(X1, X2, X3) 460.38/164.34 U44(X1, X2, active(X3)) -> U44(X1, X2, X3) 460.38/164.34 U45(X1, mark(X2)) -> U45(X1, X2) 460.38/164.34 U45(mark(X1), X2) -> U45(X1, X2) 460.38/164.34 U45(active(X1), X2) -> U45(X1, X2) 460.38/164.34 U45(X1, active(X2)) -> U45(X1, X2) 460.38/164.34 U46(active(X)) -> U46(X) 460.38/164.34 U46(mark(X)) -> U46(X) 460.38/164.34 U52(active(X)) -> U52(X) 460.38/164.34 U52(mark(X)) -> U52(X) 460.38/164.34 U82(X1, mark(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(mark(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) 460.38/164.34 U82(active(X1), X2, X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, active(X2), X3) -> U82(X1, X2, X3) 460.38/164.34 U82(X1, X2, active(X3)) -> U82(X1, X2, X3) 460.38/164.34 U83(X1, mark(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(mark(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) 460.38/164.34 U83(active(X1), X2, X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, active(X2), X3) -> U83(X1, X2, X3) 460.38/164.34 U83(X1, X2, active(X3)) -> U83(X1, X2, X3) 460.38/164.34 U84(X1, mark(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(mark(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) 460.38/164.34 U84(active(X1), X2, X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, active(X2), X3) -> U84(X1, X2, X3) 460.38/164.34 U84(X1, X2, active(X3)) -> U84(X1, X2, X3) 460.38/164.34 U85(X1, mark(X2)) -> U85(X1, X2) 460.38/164.34 U85(mark(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(active(X1), X2) -> U85(X1, X2) 460.38/164.34 U85(X1, active(X2)) -> U85(X1, X2) 460.38/164.34 U86(active(X)) -> U86(X) 460.38/164.34 U86(mark(X)) -> U86(X) 460.38/164.34 U92(X1, mark(X2), X3) -> U92(X1, X2, X3) 460.38/164.34 U92(mark(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, X2, mark(X3)) -> U92(X1, X2, X3) 460.38/164.34 U92(active(X1), X2, X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, active(X2), X3) -> U92(X1, X2, X3) 460.38/164.34 U92(X1, X2, active(X3)) -> U92(X1, X2, X3) 460.38/164.34 U93(X1, mark(X2), X3) -> U93(X1, X2, X3) 460.38/164.34 U93(mark(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, X2, mark(X3)) -> U93(X1, X2, X3) 460.38/164.34 U93(active(X1), X2, X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, active(X2), X3) -> U93(X1, X2, X3) 460.38/164.34 U93(X1, X2, active(X3)) -> U93(X1, X2, X3) 460.38/164.34 U94(X1, mark(X2)) -> U94(X1, X2) 460.38/164.34 U94(mark(X1), X2) -> U94(X1, X2) 460.38/164.34 U94(active(X1), X2) -> U94(X1, X2) 460.38/164.34 U94(X1, active(X2)) -> U94(X1, X2) 460.38/164.34 s(active(X)) -> s(X) 460.38/164.34 s(mark(X)) -> s(X) 460.38/164.34 U11(X1, mark(X2)) -> U11(X1, X2) 460.38/164.34 U11(mark(X1), X2) -> U11(X1, X2) 460.38/164.34 U11(active(X1), X2) -> U11(X1, X2) 460.38/164.34 U11(X1, active(X2)) -> U11(X1, X2) 460.38/164.34 U21(X1, mark(X2)) -> U21(X1, X2) 460.38/164.34 U21(mark(X1), X2) -> U21(X1, X2) 460.38/164.34 U21(active(X1), X2) -> U21(X1, X2) 460.38/164.34 U21(X1, active(X2)) -> U21(X1, X2) 460.38/164.34 U31(X1, mark(X2)) -> U31(X1, X2) 460.38/164.34 U31(mark(X1), X2) -> U31(X1, X2) 460.38/164.34 U31(active(X1), X2) -> U31(X1, X2) 460.38/164.34 U31(X1, active(X2)) -> U31(X1, X2) 460.38/164.34 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 460.38/164.34 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 460.38/164.34 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 460.38/164.34 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 460.38/164.34 U51(X1, mark(X2)) -> U51(X1, X2) 460.38/164.34 U51(mark(X1), X2) -> U51(X1, X2) 460.38/164.34 U51(active(X1), X2) -> U51(X1, X2) 460.38/164.34 U51(X1, active(X2)) -> U51(X1, X2) 460.38/164.34 U61(active(X)) -> U61(X) 460.38/164.34 U61(mark(X)) -> U61(X) 460.38/164.34 U71(active(X)) -> U71(X) 460.38/164.34 U71(mark(X)) -> U71(X) 460.38/164.34 U81(X1, mark(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(mark(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) 460.38/164.34 U81(active(X1), X2, X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, active(X2), X3) -> U81(X1, X2, X3) 460.38/164.34 U81(X1, X2, active(X3)) -> U81(X1, X2, X3) 460.38/164.34 U91(X1, mark(X2), X3) -> U91(X1, X2, X3) 460.38/164.34 U91(mark(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, X2, mark(X3)) -> U91(X1, X2, X3) 460.38/164.34 U91(active(X1), X2, X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, active(X2), X3) -> U91(X1, X2, X3) 460.38/164.34 U91(X1, X2, active(X3)) -> U91(X1, X2, X3) 460.38/164.34 460.38/164.34 The set Q consists of the following terms: 460.38/164.34 460.38/164.34 active(zeros) 460.38/164.34 active(U11(tt, x0)) 460.38/164.34 active(U12(tt, x0)) 460.38/164.34 active(U13(tt)) 460.38/164.34 active(U21(tt, x0)) 460.38/164.34 active(U22(tt, x0)) 460.38/164.34 active(U23(tt)) 460.38/164.34 active(U31(tt, x0)) 460.38/164.34 active(U32(tt, x0)) 460.38/164.34 active(U33(tt)) 460.38/164.34 active(U41(tt, x0, x1)) 460.38/164.34 active(U42(tt, x0, x1)) 460.38/164.34 active(U43(tt, x0, x1)) 460.38/164.34 active(U44(tt, x0, x1)) 460.38/164.34 active(U45(tt, x0)) 460.38/164.34 active(U46(tt)) 460.38/164.34 active(U51(tt, x0)) 460.38/164.34 active(U52(tt)) 460.38/164.34 active(U61(tt)) 460.38/164.34 active(U71(tt)) 460.38/164.34 active(U81(tt, x0, x1)) 460.38/164.34 active(U82(tt, x0, x1)) 460.38/164.34 active(U83(tt, x0, x1)) 460.38/164.34 active(U84(tt, x0, x1)) 460.38/164.34 active(U85(tt, x0)) 460.38/164.34 active(U86(tt)) 460.38/164.34 active(U91(tt, x0, x1)) 460.38/164.34 active(U92(tt, x0, x1)) 460.38/164.34 active(U93(tt, x0, x1)) 460.38/164.34 active(U94(tt, x0)) 460.38/164.34 active(isNat(0)) 460.38/164.34 active(isNat(length(x0))) 460.38/164.34 active(isNat(s(x0))) 460.38/164.34 active(isNatIList(x0)) 460.38/164.34 active(isNatIListKind(nil)) 460.38/164.34 active(isNatIListKind(zeros)) 460.38/164.34 active(isNatIListKind(cons(x0, x1))) 460.38/164.34 active(isNatKind(0)) 460.38/164.34 active(isNatKind(length(x0))) 460.38/164.34 active(isNatKind(s(x0))) 460.38/164.34 active(isNatList(nil)) 460.38/164.34 active(isNatList(cons(x0, x1))) 460.38/164.34 active(length(nil)) 460.38/164.34 active(length(cons(x0, x1))) 460.38/164.34 mark(zeros) 460.38/164.34 mark(cons(x0, x1)) 460.38/164.34 mark(0) 460.38/164.34 mark(U11(x0, x1)) 460.38/164.34 mark(tt) 460.38/164.34 mark(U12(x0, x1)) 460.38/164.34 mark(isNatIListKind(x0)) 460.38/164.34 mark(U13(x0)) 460.38/164.34 mark(isNatList(x0)) 460.38/164.34 mark(U21(x0, x1)) 460.38/164.34 mark(U22(x0, x1)) 460.38/164.34 mark(isNatKind(x0)) 460.38/164.34 mark(U23(x0)) 460.38/164.34 mark(isNat(x0)) 460.38/164.34 mark(U31(x0, x1)) 460.38/164.34 mark(U32(x0, x1)) 460.38/164.34 mark(U33(x0)) 460.38/164.34 mark(U41(x0, x1, x2)) 460.38/164.34 mark(U42(x0, x1, x2)) 460.38/164.34 mark(U43(x0, x1, x2)) 460.38/164.34 mark(U44(x0, x1, x2)) 460.38/164.34 mark(U45(x0, x1)) 460.38/164.34 mark(U46(x0)) 460.38/164.34 mark(isNatIList(x0)) 460.38/164.34 mark(U51(x0, x1)) 460.38/164.34 mark(U52(x0)) 460.38/164.34 mark(U61(x0)) 460.38/164.34 mark(U71(x0)) 460.38/164.34 mark(U81(x0, x1, x2)) 460.38/164.34 mark(U82(x0, x1, x2)) 460.38/164.34 mark(U83(x0, x1, x2)) 460.38/164.34 mark(U84(x0, x1, x2)) 460.38/164.34 mark(U85(x0, x1)) 460.38/164.34 mark(U86(x0)) 460.38/164.34 mark(U91(x0, x1, x2)) 460.38/164.34 mark(U92(x0, x1, x2)) 460.38/164.34 mark(U93(x0, x1, x2)) 460.38/164.34 mark(U94(x0, x1)) 460.38/164.34 mark(s(x0)) 460.38/164.34 mark(length(x0)) 460.38/164.34 mark(nil) 460.38/164.34 cons(mark(x0), x1) 460.38/164.34 cons(x0, mark(x1)) 460.38/164.34 cons(active(x0), x1) 460.38/164.34 cons(x0, active(x1)) 460.38/164.34 U11(mark(x0), x1) 460.38/164.34 U11(x0, mark(x1)) 460.38/164.34 U11(active(x0), x1) 460.38/164.34 U11(x0, active(x1)) 460.38/164.34 U12(mark(x0), x1) 460.38/164.34 U12(x0, mark(x1)) 460.38/164.34 U12(active(x0), x1) 460.38/164.34 U12(x0, active(x1)) 460.38/164.34 isNatIListKind(mark(x0)) 460.38/164.34 isNatIListKind(active(x0)) 460.38/164.34 U13(mark(x0)) 460.38/164.34 U13(active(x0)) 460.38/164.34 isNatList(mark(x0)) 460.38/164.34 isNatList(active(x0)) 460.38/164.34 U21(mark(x0), x1) 460.38/164.34 U21(x0, mark(x1)) 460.38/164.34 U21(active(x0), x1) 460.38/164.34 U21(x0, active(x1)) 460.38/164.34 U22(mark(x0), x1) 460.38/164.34 U22(x0, mark(x1)) 460.38/164.34 U22(active(x0), x1) 460.38/164.34 U22(x0, active(x1)) 460.38/164.34 isNatKind(mark(x0)) 460.38/164.34 isNatKind(active(x0)) 460.38/164.34 U23(mark(x0)) 460.38/164.34 U23(active(x0)) 460.38/164.34 isNat(mark(x0)) 460.38/164.34 isNat(active(x0)) 460.38/164.34 U31(mark(x0), x1) 460.38/164.34 U31(x0, mark(x1)) 460.38/164.34 U31(active(x0), x1) 460.38/164.34 U31(x0, active(x1)) 460.38/164.34 U32(mark(x0), x1) 460.38/164.34 U32(x0, mark(x1)) 460.38/164.34 U32(active(x0), x1) 460.38/164.34 U32(x0, active(x1)) 460.38/164.34 U33(mark(x0)) 460.38/164.34 U33(active(x0)) 460.38/164.34 U41(mark(x0), x1, x2) 460.38/164.34 U41(x0, mark(x1), x2) 460.38/164.34 U41(x0, x1, mark(x2)) 460.38/164.34 U41(active(x0), x1, x2) 460.38/164.34 U41(x0, active(x1), x2) 460.38/164.34 U41(x0, x1, active(x2)) 460.38/164.34 U42(mark(x0), x1, x2) 460.38/164.34 U42(x0, mark(x1), x2) 460.38/164.34 U42(x0, x1, mark(x2)) 460.38/164.34 U42(active(x0), x1, x2) 460.38/164.34 U42(x0, active(x1), x2) 460.38/164.34 U42(x0, x1, active(x2)) 460.38/164.34 U43(mark(x0), x1, x2) 460.38/164.34 U43(x0, mark(x1), x2) 460.38/164.34 U43(x0, x1, mark(x2)) 460.38/164.34 U43(active(x0), x1, x2) 460.38/164.34 U43(x0, active(x1), x2) 460.38/164.34 U43(x0, x1, active(x2)) 460.38/164.34 U44(mark(x0), x1, x2) 460.38/164.34 U44(x0, mark(x1), x2) 460.38/164.34 U44(x0, x1, mark(x2)) 460.38/164.34 U44(active(x0), x1, x2) 460.38/164.34 U44(x0, active(x1), x2) 460.38/164.34 U44(x0, x1, active(x2)) 460.38/164.34 U45(mark(x0), x1) 460.38/164.34 U45(x0, mark(x1)) 460.38/164.34 U45(active(x0), x1) 460.38/164.34 U45(x0, active(x1)) 460.38/164.34 U46(mark(x0)) 460.38/164.34 U46(active(x0)) 460.38/164.34 isNatIList(mark(x0)) 460.38/164.34 isNatIList(active(x0)) 460.38/164.34 U51(mark(x0), x1) 460.38/164.34 U51(x0, mark(x1)) 460.38/164.34 U51(active(x0), x1) 460.38/164.34 U51(x0, active(x1)) 460.38/164.34 U52(mark(x0)) 460.38/164.34 U52(active(x0)) 460.38/164.34 U61(mark(x0)) 460.38/164.34 U61(active(x0)) 460.38/164.34 U71(mark(x0)) 460.38/164.34 U71(active(x0)) 460.38/164.34 U81(mark(x0), x1, x2) 460.38/164.34 U81(x0, mark(x1), x2) 460.38/164.34 U81(x0, x1, mark(x2)) 460.38/164.34 U81(active(x0), x1, x2) 460.38/164.34 U81(x0, active(x1), x2) 460.38/164.34 U81(x0, x1, active(x2)) 460.38/164.34 U82(mark(x0), x1, x2) 460.38/164.34 U82(x0, mark(x1), x2) 460.38/164.34 U82(x0, x1, mark(x2)) 460.38/164.34 U82(active(x0), x1, x2) 460.38/164.34 U82(x0, active(x1), x2) 460.38/164.34 U82(x0, x1, active(x2)) 460.38/164.34 U83(mark(x0), x1, x2) 460.38/164.34 U83(x0, mark(x1), x2) 460.38/164.34 U83(x0, x1, mark(x2)) 460.38/164.34 U83(active(x0), x1, x2) 460.38/164.34 U83(x0, active(x1), x2) 460.38/164.34 U83(x0, x1, active(x2)) 460.38/164.34 U84(mark(x0), x1, x2) 460.38/164.34 U84(x0, mark(x1), x2) 460.38/164.34 U84(x0, x1, mark(x2)) 460.38/164.34 U84(active(x0), x1, x2) 460.38/164.34 U84(x0, active(x1), x2) 460.38/164.34 U84(x0, x1, active(x2)) 460.38/164.34 U85(mark(x0), x1) 460.38/164.34 U85(x0, mark(x1)) 460.38/164.34 U85(active(x0), x1) 460.38/164.34 U85(x0, active(x1)) 460.38/164.34 U86(mark(x0)) 460.38/164.34 U86(active(x0)) 460.38/164.34 U91(mark(x0), x1, x2) 460.38/164.34 U91(x0, mark(x1), x2) 460.38/164.34 U91(x0, x1, mark(x2)) 460.38/164.34 U91(active(x0), x1, x2) 460.38/164.34 U91(x0, active(x1), x2) 460.38/164.34 U91(x0, x1, active(x2)) 460.38/164.34 U92(mark(x0), x1, x2) 460.38/164.34 U92(x0, mark(x1), x2) 460.38/164.34 U92(x0, x1, mark(x2)) 460.38/164.34 U92(active(x0), x1, x2) 460.38/164.34 U92(x0, active(x1), x2) 460.38/164.34 U92(x0, x1, active(x2)) 460.38/164.34 U93(mark(x0), x1, x2) 460.38/164.34 U93(x0, mark(x1), x2) 460.38/164.34 U93(x0, x1, mark(x2)) 460.38/164.34 U93(active(x0), x1, x2) 460.38/164.34 U93(x0, active(x1), x2) 460.38/164.34 U93(x0, x1, active(x2)) 460.38/164.34 U94(mark(x0), x1) 460.38/164.34 U94(x0, mark(x1)) 460.38/164.34 U94(active(x0), x1) 460.38/164.34 U94(x0, active(x1)) 460.38/164.34 s(mark(x0)) 460.38/164.34 s(active(x0)) 460.38/164.34 length(mark(x0)) 460.38/164.34 length(active(x0)) 460.38/164.34 460.38/164.34 We have to consider all minimal (P,Q,R)-chains. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (369) UsableRulesProof (EQUIVALENT) 460.38/164.34 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (370) 460.38/164.34 Obligation: 460.38/164.34 Q DP problem: 460.38/164.34 The TRS P consists of the following rules: 460.38/164.34 460.38/164.34 MARK(U86(X)) -> MARK(X) 460.38/164.34 MARK(U52(X)) -> MARK(X) 460.38/164.34 460.38/164.34 R is empty. 460.38/164.34 The set Q consists of the following terms: 460.38/164.34 460.38/164.34 active(zeros) 460.38/164.34 active(U11(tt, x0)) 460.38/164.34 active(U12(tt, x0)) 460.38/164.34 active(U13(tt)) 460.38/164.34 active(U21(tt, x0)) 460.38/164.34 active(U22(tt, x0)) 460.38/164.34 active(U23(tt)) 460.38/164.34 active(U31(tt, x0)) 460.38/164.34 active(U32(tt, x0)) 460.38/164.34 active(U33(tt)) 460.38/164.34 active(U41(tt, x0, x1)) 460.38/164.34 active(U42(tt, x0, x1)) 460.38/164.34 active(U43(tt, x0, x1)) 460.38/164.34 active(U44(tt, x0, x1)) 460.38/164.34 active(U45(tt, x0)) 460.38/164.34 active(U46(tt)) 460.38/164.34 active(U51(tt, x0)) 460.38/164.34 active(U52(tt)) 460.38/164.34 active(U61(tt)) 460.38/164.34 active(U71(tt)) 460.38/164.34 active(U81(tt, x0, x1)) 460.38/164.34 active(U82(tt, x0, x1)) 460.38/164.34 active(U83(tt, x0, x1)) 460.38/164.34 active(U84(tt, x0, x1)) 460.38/164.34 active(U85(tt, x0)) 460.38/164.34 active(U86(tt)) 460.38/164.34 active(U91(tt, x0, x1)) 460.38/164.34 active(U92(tt, x0, x1)) 460.38/164.34 active(U93(tt, x0, x1)) 460.38/164.34 active(U94(tt, x0)) 460.38/164.34 active(isNat(0)) 460.38/164.34 active(isNat(length(x0))) 460.38/164.34 active(isNat(s(x0))) 460.38/164.34 active(isNatIList(x0)) 460.38/164.34 active(isNatIListKind(nil)) 460.38/164.34 active(isNatIListKind(zeros)) 460.38/164.34 active(isNatIListKind(cons(x0, x1))) 460.38/164.34 active(isNatKind(0)) 460.38/164.34 active(isNatKind(length(x0))) 460.38/164.34 active(isNatKind(s(x0))) 460.38/164.34 active(isNatList(nil)) 460.38/164.34 active(isNatList(cons(x0, x1))) 460.38/164.34 active(length(nil)) 460.38/164.34 active(length(cons(x0, x1))) 460.38/164.34 mark(zeros) 460.38/164.34 mark(cons(x0, x1)) 460.38/164.34 mark(0) 460.38/164.34 mark(U11(x0, x1)) 460.38/164.34 mark(tt) 460.38/164.34 mark(U12(x0, x1)) 460.38/164.34 mark(isNatIListKind(x0)) 460.38/164.34 mark(U13(x0)) 460.38/164.34 mark(isNatList(x0)) 460.38/164.34 mark(U21(x0, x1)) 460.38/164.34 mark(U22(x0, x1)) 460.38/164.34 mark(isNatKind(x0)) 460.38/164.34 mark(U23(x0)) 460.38/164.34 mark(isNat(x0)) 460.38/164.34 mark(U31(x0, x1)) 460.38/164.34 mark(U32(x0, x1)) 460.38/164.34 mark(U33(x0)) 460.38/164.34 mark(U41(x0, x1, x2)) 460.38/164.34 mark(U42(x0, x1, x2)) 460.38/164.34 mark(U43(x0, x1, x2)) 460.38/164.34 mark(U44(x0, x1, x2)) 460.38/164.34 mark(U45(x0, x1)) 460.38/164.34 mark(U46(x0)) 460.38/164.34 mark(isNatIList(x0)) 460.38/164.34 mark(U51(x0, x1)) 460.38/164.34 mark(U52(x0)) 460.38/164.34 mark(U61(x0)) 460.38/164.34 mark(U71(x0)) 460.38/164.34 mark(U81(x0, x1, x2)) 460.38/164.34 mark(U82(x0, x1, x2)) 460.38/164.34 mark(U83(x0, x1, x2)) 460.38/164.34 mark(U84(x0, x1, x2)) 460.38/164.34 mark(U85(x0, x1)) 460.38/164.34 mark(U86(x0)) 460.38/164.34 mark(U91(x0, x1, x2)) 460.38/164.34 mark(U92(x0, x1, x2)) 460.38/164.34 mark(U93(x0, x1, x2)) 460.38/164.34 mark(U94(x0, x1)) 460.38/164.34 mark(s(x0)) 460.38/164.34 mark(length(x0)) 460.38/164.34 mark(nil) 460.38/164.34 cons(mark(x0), x1) 460.38/164.34 cons(x0, mark(x1)) 460.38/164.34 cons(active(x0), x1) 460.38/164.34 cons(x0, active(x1)) 460.38/164.34 U11(mark(x0), x1) 460.38/164.34 U11(x0, mark(x1)) 460.38/164.34 U11(active(x0), x1) 460.38/164.34 U11(x0, active(x1)) 460.38/164.34 U12(mark(x0), x1) 460.38/164.34 U12(x0, mark(x1)) 460.38/164.34 U12(active(x0), x1) 460.38/164.34 U12(x0, active(x1)) 460.38/164.34 isNatIListKind(mark(x0)) 460.38/164.34 isNatIListKind(active(x0)) 460.38/164.34 U13(mark(x0)) 460.38/164.34 U13(active(x0)) 460.38/164.34 isNatList(mark(x0)) 460.38/164.34 isNatList(active(x0)) 460.38/164.34 U21(mark(x0), x1) 460.38/164.34 U21(x0, mark(x1)) 460.38/164.34 U21(active(x0), x1) 460.38/164.34 U21(x0, active(x1)) 460.38/164.34 U22(mark(x0), x1) 460.38/164.34 U22(x0, mark(x1)) 460.38/164.34 U22(active(x0), x1) 460.38/164.34 U22(x0, active(x1)) 460.38/164.34 isNatKind(mark(x0)) 460.38/164.34 isNatKind(active(x0)) 460.38/164.34 U23(mark(x0)) 460.38/164.34 U23(active(x0)) 460.38/164.34 isNat(mark(x0)) 460.38/164.34 isNat(active(x0)) 460.38/164.34 U31(mark(x0), x1) 460.38/164.34 U31(x0, mark(x1)) 460.38/164.34 U31(active(x0), x1) 460.38/164.34 U31(x0, active(x1)) 460.38/164.34 U32(mark(x0), x1) 460.38/164.34 U32(x0, mark(x1)) 460.38/164.34 U32(active(x0), x1) 460.38/164.34 U32(x0, active(x1)) 460.38/164.34 U33(mark(x0)) 460.38/164.34 U33(active(x0)) 460.38/164.34 U41(mark(x0), x1, x2) 460.38/164.34 U41(x0, mark(x1), x2) 460.38/164.34 U41(x0, x1, mark(x2)) 460.38/164.34 U41(active(x0), x1, x2) 460.38/164.34 U41(x0, active(x1), x2) 460.38/164.34 U41(x0, x1, active(x2)) 460.38/164.34 U42(mark(x0), x1, x2) 460.38/164.34 U42(x0, mark(x1), x2) 460.38/164.34 U42(x0, x1, mark(x2)) 460.38/164.34 U42(active(x0), x1, x2) 460.38/164.34 U42(x0, active(x1), x2) 460.38/164.34 U42(x0, x1, active(x2)) 460.38/164.34 U43(mark(x0), x1, x2) 460.38/164.34 U43(x0, mark(x1), x2) 460.38/164.34 U43(x0, x1, mark(x2)) 460.38/164.34 U43(active(x0), x1, x2) 460.38/164.34 U43(x0, active(x1), x2) 460.38/164.34 U43(x0, x1, active(x2)) 460.38/164.34 U44(mark(x0), x1, x2) 460.38/164.34 U44(x0, mark(x1), x2) 460.38/164.34 U44(x0, x1, mark(x2)) 460.38/164.34 U44(active(x0), x1, x2) 460.38/164.34 U44(x0, active(x1), x2) 460.38/164.34 U44(x0, x1, active(x2)) 460.38/164.34 U45(mark(x0), x1) 460.38/164.34 U45(x0, mark(x1)) 460.38/164.34 U45(active(x0), x1) 460.38/164.34 U45(x0, active(x1)) 460.38/164.34 U46(mark(x0)) 460.38/164.34 U46(active(x0)) 460.38/164.34 isNatIList(mark(x0)) 460.38/164.34 isNatIList(active(x0)) 460.38/164.34 U51(mark(x0), x1) 460.38/164.34 U51(x0, mark(x1)) 460.38/164.34 U51(active(x0), x1) 460.38/164.34 U51(x0, active(x1)) 460.38/164.34 U52(mark(x0)) 460.38/164.34 U52(active(x0)) 460.38/164.34 U61(mark(x0)) 460.38/164.34 U61(active(x0)) 460.38/164.34 U71(mark(x0)) 460.38/164.34 U71(active(x0)) 460.38/164.34 U81(mark(x0), x1, x2) 460.38/164.34 U81(x0, mark(x1), x2) 460.38/164.34 U81(x0, x1, mark(x2)) 460.38/164.34 U81(active(x0), x1, x2) 460.38/164.34 U81(x0, active(x1), x2) 460.38/164.34 U81(x0, x1, active(x2)) 460.38/164.34 U82(mark(x0), x1, x2) 460.38/164.34 U82(x0, mark(x1), x2) 460.38/164.34 U82(x0, x1, mark(x2)) 460.38/164.34 U82(active(x0), x1, x2) 460.38/164.34 U82(x0, active(x1), x2) 460.38/164.34 U82(x0, x1, active(x2)) 460.38/164.34 U83(mark(x0), x1, x2) 460.38/164.34 U83(x0, mark(x1), x2) 460.38/164.34 U83(x0, x1, mark(x2)) 460.38/164.34 U83(active(x0), x1, x2) 460.38/164.34 U83(x0, active(x1), x2) 460.38/164.34 U83(x0, x1, active(x2)) 460.38/164.34 U84(mark(x0), x1, x2) 460.38/164.34 U84(x0, mark(x1), x2) 460.38/164.34 U84(x0, x1, mark(x2)) 460.38/164.34 U84(active(x0), x1, x2) 460.38/164.34 U84(x0, active(x1), x2) 460.38/164.34 U84(x0, x1, active(x2)) 460.38/164.34 U85(mark(x0), x1) 460.38/164.34 U85(x0, mark(x1)) 460.38/164.34 U85(active(x0), x1) 460.38/164.34 U85(x0, active(x1)) 460.38/164.34 U86(mark(x0)) 460.38/164.34 U86(active(x0)) 460.38/164.34 U91(mark(x0), x1, x2) 460.38/164.34 U91(x0, mark(x1), x2) 460.38/164.34 U91(x0, x1, mark(x2)) 460.38/164.34 U91(active(x0), x1, x2) 460.38/164.34 U91(x0, active(x1), x2) 460.38/164.34 U91(x0, x1, active(x2)) 460.38/164.34 U92(mark(x0), x1, x2) 460.38/164.34 U92(x0, mark(x1), x2) 460.38/164.34 U92(x0, x1, mark(x2)) 460.38/164.34 U92(active(x0), x1, x2) 460.38/164.34 U92(x0, active(x1), x2) 460.38/164.34 U92(x0, x1, active(x2)) 460.38/164.34 U93(mark(x0), x1, x2) 460.38/164.34 U93(x0, mark(x1), x2) 460.38/164.34 U93(x0, x1, mark(x2)) 460.38/164.34 U93(active(x0), x1, x2) 460.38/164.34 U93(x0, active(x1), x2) 460.38/164.34 U93(x0, x1, active(x2)) 460.38/164.34 U94(mark(x0), x1) 460.38/164.34 U94(x0, mark(x1)) 460.38/164.34 U94(active(x0), x1) 460.38/164.34 U94(x0, active(x1)) 460.38/164.34 s(mark(x0)) 460.38/164.34 s(active(x0)) 460.38/164.34 length(mark(x0)) 460.38/164.34 length(active(x0)) 460.38/164.34 460.38/164.34 We have to consider all minimal (P,Q,R)-chains. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (371) QReductionProof (EQUIVALENT) 460.38/164.34 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 460.38/164.34 460.38/164.34 active(zeros) 460.38/164.34 active(U11(tt, x0)) 460.38/164.34 active(U12(tt, x0)) 460.38/164.34 active(U13(tt)) 460.38/164.34 active(U21(tt, x0)) 460.38/164.34 active(U22(tt, x0)) 460.38/164.34 active(U23(tt)) 460.38/164.34 active(U31(tt, x0)) 460.38/164.34 active(U32(tt, x0)) 460.38/164.34 active(U33(tt)) 460.38/164.34 active(U41(tt, x0, x1)) 460.38/164.34 active(U42(tt, x0, x1)) 460.38/164.34 active(U43(tt, x0, x1)) 460.38/164.34 active(U44(tt, x0, x1)) 460.38/164.34 active(U45(tt, x0)) 460.38/164.34 active(U46(tt)) 460.38/164.34 active(U51(tt, x0)) 460.38/164.34 active(U52(tt)) 460.38/164.34 active(U61(tt)) 460.38/164.34 active(U71(tt)) 460.38/164.34 active(U81(tt, x0, x1)) 460.38/164.34 active(U82(tt, x0, x1)) 460.38/164.34 active(U83(tt, x0, x1)) 460.38/164.34 active(U84(tt, x0, x1)) 460.38/164.34 active(U85(tt, x0)) 460.38/164.34 active(U86(tt)) 460.38/164.34 active(U91(tt, x0, x1)) 460.38/164.34 active(U92(tt, x0, x1)) 460.38/164.34 active(U93(tt, x0, x1)) 460.38/164.34 active(U94(tt, x0)) 460.38/164.34 active(isNat(0)) 460.38/164.34 active(isNat(length(x0))) 460.38/164.34 active(isNat(s(x0))) 460.38/164.34 active(isNatIList(x0)) 460.38/164.34 active(isNatIListKind(nil)) 460.38/164.34 active(isNatIListKind(zeros)) 460.38/164.34 active(isNatIListKind(cons(x0, x1))) 460.38/164.34 active(isNatKind(0)) 460.38/164.34 active(isNatKind(length(x0))) 460.38/164.34 active(isNatKind(s(x0))) 460.38/164.34 active(isNatList(nil)) 460.38/164.34 active(isNatList(cons(x0, x1))) 460.38/164.34 active(length(nil)) 460.38/164.34 active(length(cons(x0, x1))) 460.38/164.34 mark(zeros) 460.38/164.34 mark(cons(x0, x1)) 460.38/164.34 mark(0) 460.38/164.34 mark(U11(x0, x1)) 460.38/164.34 mark(tt) 460.38/164.34 mark(U12(x0, x1)) 460.38/164.34 mark(isNatIListKind(x0)) 460.38/164.34 mark(U13(x0)) 460.38/164.34 mark(isNatList(x0)) 460.38/164.34 mark(U21(x0, x1)) 460.38/164.34 mark(U22(x0, x1)) 460.38/164.34 mark(isNatKind(x0)) 460.38/164.34 mark(U23(x0)) 460.38/164.34 mark(isNat(x0)) 460.38/164.34 mark(U31(x0, x1)) 460.38/164.34 mark(U32(x0, x1)) 460.38/164.34 mark(U33(x0)) 460.38/164.34 mark(U41(x0, x1, x2)) 460.38/164.34 mark(U42(x0, x1, x2)) 460.38/164.34 mark(U43(x0, x1, x2)) 460.38/164.34 mark(U44(x0, x1, x2)) 460.38/164.34 mark(U45(x0, x1)) 460.38/164.34 mark(U46(x0)) 460.38/164.34 mark(isNatIList(x0)) 460.38/164.34 mark(U51(x0, x1)) 460.38/164.34 mark(U52(x0)) 460.38/164.34 mark(U61(x0)) 460.38/164.34 mark(U71(x0)) 460.38/164.34 mark(U81(x0, x1, x2)) 460.38/164.34 mark(U82(x0, x1, x2)) 460.38/164.34 mark(U83(x0, x1, x2)) 460.38/164.34 mark(U84(x0, x1, x2)) 460.38/164.34 mark(U85(x0, x1)) 460.38/164.34 mark(U86(x0)) 460.38/164.34 mark(U91(x0, x1, x2)) 460.38/164.34 mark(U92(x0, x1, x2)) 460.38/164.34 mark(U93(x0, x1, x2)) 460.38/164.34 mark(U94(x0, x1)) 460.38/164.34 mark(s(x0)) 460.38/164.34 mark(length(x0)) 460.38/164.34 mark(nil) 460.38/164.34 cons(mark(x0), x1) 460.38/164.34 cons(x0, mark(x1)) 460.38/164.34 cons(active(x0), x1) 460.38/164.34 cons(x0, active(x1)) 460.38/164.34 U11(mark(x0), x1) 460.38/164.34 U11(x0, mark(x1)) 460.38/164.34 U11(active(x0), x1) 460.38/164.34 U11(x0, active(x1)) 460.38/164.34 U12(mark(x0), x1) 460.38/164.34 U12(x0, mark(x1)) 460.38/164.34 U12(active(x0), x1) 460.38/164.34 U12(x0, active(x1)) 460.38/164.34 isNatIListKind(mark(x0)) 460.38/164.34 isNatIListKind(active(x0)) 460.38/164.34 U13(mark(x0)) 460.38/164.34 U13(active(x0)) 460.38/164.34 isNatList(mark(x0)) 460.38/164.34 isNatList(active(x0)) 460.38/164.34 U21(mark(x0), x1) 460.38/164.34 U21(x0, mark(x1)) 460.38/164.34 U21(active(x0), x1) 460.38/164.34 U21(x0, active(x1)) 460.38/164.34 U22(mark(x0), x1) 460.38/164.34 U22(x0, mark(x1)) 460.38/164.34 U22(active(x0), x1) 460.38/164.34 U22(x0, active(x1)) 460.38/164.34 isNatKind(mark(x0)) 460.38/164.34 isNatKind(active(x0)) 460.38/164.34 U23(mark(x0)) 460.38/164.34 U23(active(x0)) 460.38/164.34 isNat(mark(x0)) 460.38/164.34 isNat(active(x0)) 460.38/164.34 U31(mark(x0), x1) 460.38/164.34 U31(x0, mark(x1)) 460.38/164.34 U31(active(x0), x1) 460.38/164.34 U31(x0, active(x1)) 460.38/164.34 U32(mark(x0), x1) 460.38/164.34 U32(x0, mark(x1)) 460.38/164.34 U32(active(x0), x1) 460.38/164.34 U32(x0, active(x1)) 460.38/164.34 U33(mark(x0)) 460.38/164.34 U33(active(x0)) 460.38/164.34 U41(mark(x0), x1, x2) 460.38/164.34 U41(x0, mark(x1), x2) 460.38/164.34 U41(x0, x1, mark(x2)) 460.38/164.34 U41(active(x0), x1, x2) 460.38/164.34 U41(x0, active(x1), x2) 460.38/164.34 U41(x0, x1, active(x2)) 460.38/164.34 U42(mark(x0), x1, x2) 460.38/164.34 U42(x0, mark(x1), x2) 460.38/164.34 U42(x0, x1, mark(x2)) 460.38/164.34 U42(active(x0), x1, x2) 460.38/164.34 U42(x0, active(x1), x2) 460.38/164.34 U42(x0, x1, active(x2)) 460.38/164.34 U43(mark(x0), x1, x2) 460.38/164.34 U43(x0, mark(x1), x2) 460.38/164.34 U43(x0, x1, mark(x2)) 460.38/164.34 U43(active(x0), x1, x2) 460.38/164.34 U43(x0, active(x1), x2) 460.38/164.34 U43(x0, x1, active(x2)) 460.38/164.34 U44(mark(x0), x1, x2) 460.38/164.34 U44(x0, mark(x1), x2) 460.38/164.34 U44(x0, x1, mark(x2)) 460.38/164.34 U44(active(x0), x1, x2) 460.38/164.34 U44(x0, active(x1), x2) 460.38/164.34 U44(x0, x1, active(x2)) 460.38/164.34 U45(mark(x0), x1) 460.38/164.34 U45(x0, mark(x1)) 460.38/164.34 U45(active(x0), x1) 460.38/164.34 U45(x0, active(x1)) 460.38/164.34 U46(mark(x0)) 460.38/164.34 U46(active(x0)) 460.38/164.34 isNatIList(mark(x0)) 460.38/164.34 isNatIList(active(x0)) 460.38/164.34 U51(mark(x0), x1) 460.38/164.34 U51(x0, mark(x1)) 460.38/164.34 U51(active(x0), x1) 460.38/164.34 U51(x0, active(x1)) 460.38/164.34 U61(mark(x0)) 460.38/164.34 U61(active(x0)) 460.38/164.34 U71(mark(x0)) 460.38/164.34 U71(active(x0)) 460.38/164.34 U81(mark(x0), x1, x2) 460.38/164.34 U81(x0, mark(x1), x2) 460.38/164.34 U81(x0, x1, mark(x2)) 460.38/164.34 U81(active(x0), x1, x2) 460.38/164.34 U81(x0, active(x1), x2) 460.38/164.34 U81(x0, x1, active(x2)) 460.38/164.34 U82(mark(x0), x1, x2) 460.38/164.34 U82(x0, mark(x1), x2) 460.38/164.34 U82(x0, x1, mark(x2)) 460.38/164.34 U82(active(x0), x1, x2) 460.38/164.34 U82(x0, active(x1), x2) 460.38/164.34 U82(x0, x1, active(x2)) 460.38/164.34 U83(mark(x0), x1, x2) 460.38/164.34 U83(x0, mark(x1), x2) 460.38/164.34 U83(x0, x1, mark(x2)) 460.38/164.34 U83(active(x0), x1, x2) 460.38/164.34 U83(x0, active(x1), x2) 460.38/164.34 U83(x0, x1, active(x2)) 460.38/164.34 U84(mark(x0), x1, x2) 460.38/164.34 U84(x0, mark(x1), x2) 460.38/164.34 U84(x0, x1, mark(x2)) 460.38/164.34 U84(active(x0), x1, x2) 460.38/164.34 U84(x0, active(x1), x2) 460.38/164.34 U84(x0, x1, active(x2)) 460.38/164.34 U85(mark(x0), x1) 460.38/164.34 U85(x0, mark(x1)) 460.38/164.34 U85(active(x0), x1) 460.38/164.34 U85(x0, active(x1)) 460.38/164.34 U91(mark(x0), x1, x2) 460.38/164.34 U91(x0, mark(x1), x2) 460.38/164.34 U91(x0, x1, mark(x2)) 460.38/164.34 U91(active(x0), x1, x2) 460.38/164.34 U91(x0, active(x1), x2) 460.38/164.34 U91(x0, x1, active(x2)) 460.38/164.34 U92(mark(x0), x1, x2) 460.38/164.34 U92(x0, mark(x1), x2) 460.38/164.34 U92(x0, x1, mark(x2)) 460.38/164.34 U92(active(x0), x1, x2) 460.38/164.34 U92(x0, active(x1), x2) 460.38/164.34 U92(x0, x1, active(x2)) 460.38/164.34 U93(mark(x0), x1, x2) 460.38/164.34 U93(x0, mark(x1), x2) 460.38/164.34 U93(x0, x1, mark(x2)) 460.38/164.34 U93(active(x0), x1, x2) 460.38/164.34 U93(x0, active(x1), x2) 460.38/164.34 U93(x0, x1, active(x2)) 460.38/164.34 U94(mark(x0), x1) 460.38/164.34 U94(x0, mark(x1)) 460.38/164.34 U94(active(x0), x1) 460.38/164.34 U94(x0, active(x1)) 460.38/164.34 s(mark(x0)) 460.38/164.34 s(active(x0)) 460.38/164.34 length(mark(x0)) 460.38/164.34 length(active(x0)) 460.38/164.34 460.38/164.34 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (372) 460.38/164.34 Obligation: 460.38/164.34 Q DP problem: 460.38/164.34 The TRS P consists of the following rules: 460.38/164.34 460.38/164.34 MARK(U86(X)) -> MARK(X) 460.38/164.34 MARK(U52(X)) -> MARK(X) 460.38/164.34 460.38/164.34 R is empty. 460.38/164.34 The set Q consists of the following terms: 460.38/164.34 460.38/164.34 U52(mark(x0)) 460.38/164.34 U52(active(x0)) 460.38/164.34 U86(mark(x0)) 460.38/164.34 U86(active(x0)) 460.38/164.34 460.38/164.34 We have to consider all minimal (P,Q,R)-chains. 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (373) QDPSizeChangeProof (EQUIVALENT) 460.38/164.34 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 460.38/164.34 460.38/164.34 From the DPs we obtained the following set of size-change graphs: 460.38/164.34 *MARK(U86(X)) -> MARK(X) 460.38/164.34 The graph contains the following edges 1 > 1 460.38/164.34 460.38/164.34 460.38/164.34 *MARK(U52(X)) -> MARK(X) 460.38/164.34 The graph contains the following edges 1 > 1 460.38/164.34 460.38/164.34 460.38/164.34 ---------------------------------------- 460.38/164.34 460.38/164.34 (374) 460.38/164.34 YES 460.38/164.38 EOF