/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) IFR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 3 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) NumRed [SOUND, 15 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) AND (16) QDP (17) QDPOrderProof [EQUIVALENT, 46 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] (22) YES (23) QDP (24) MRRProof [EQUIVALENT, 5 ms] (25) QDP (26) PisEmptyProof [EQUIVALENT, 0 ms] (27) YES (28) QDP (29) TransformationProof [EQUIVALENT, 0 ms] (30) QDP (31) UsableRulesProof [EQUIVALENT, 0 ms] (32) QDP (33) QReductionProof [EQUIVALENT, 0 ms] (34) QDP (35) TransformationProof [EQUIVALENT, 0 ms] (36) QDP (37) MNOCProof [EQUIVALENT, 0 ms] (38) QDP (39) InductionCalculusProof [EQUIVALENT, 0 ms] (40) QDP (41) TransformationProof [EQUIVALENT, 0 ms] (42) QDP (43) TransformationProof [EQUIVALENT, 0 ms] (44) QDP (45) UsableRulesProof [EQUIVALENT, 0 ms] (46) QDP (47) TransformationProof [EQUIVALENT, 0 ms] (48) QDP (49) UsableRulesProof [EQUIVALENT, 0 ms] (50) QDP (51) TransformationProof [EQUIVALENT, 0 ms] (52) QDP (53) DependencyGraphProof [EQUIVALENT, 0 ms] (54) QDP (55) UsableRulesProof [EQUIVALENT, 0 ms] (56) QDP (57) TransformationProof [EQUIVALENT, 0 ms] (58) QDP (59) UsableRulesProof [EQUIVALENT, 0 ms] (60) QDP (61) TransformationProof [EQUIVALENT, 0 ms] (62) QDP (63) DependencyGraphProof [EQUIVALENT, 0 ms] (64) QDP (65) UsableRulesProof [EQUIVALENT, 0 ms] (66) QDP (67) TransformationProof [EQUIVALENT, 0 ms] (68) QDP (69) UsableRulesProof [EQUIVALENT, 0 ms] (70) QDP (71) TransformationProof [EQUIVALENT, 1 ms] (72) QDP (73) DependencyGraphProof [EQUIVALENT, 0 ms] (74) QDP (75) UsableRulesProof [EQUIVALENT, 0 ms] (76) QDP (77) TransformationProof [EQUIVALENT, 0 ms] (78) QDP (79) DependencyGraphProof [EQUIVALENT, 0 ms] (80) QDP (81) UsableRulesProof [EQUIVALENT, 0 ms] (82) QDP (83) QReductionProof [EQUIVALENT, 0 ms] (84) QDP (85) TransformationProof [EQUIVALENT, 0 ms] (86) QDP (87) DependencyGraphProof [EQUIVALENT, 0 ms] (88) QDP (89) TransformationProof [EQUIVALENT, 0 ms] (90) QDP (91) TransformationProof [EQUIVALENT, 0 ms] (92) QDP (93) TransformationProof [EQUIVALENT, 0 ms] (94) QDP (95) TransformationProof [EQUIVALENT, 0 ms] (96) QDP (97) TransformationProof [EQUIVALENT, 0 ms] (98) QDP (99) TransformationProof [EQUIVALENT, 0 ms] (100) QDP (101) TransformationProof [EQUIVALENT, 0 ms] (102) QDP (103) DependencyGraphProof [EQUIVALENT, 0 ms] (104) QDP (105) TransformationProof [EQUIVALENT, 0 ms] (106) QDP (107) TransformationProof [EQUIVALENT, 0 ms] (108) QDP (109) DependencyGraphProof [EQUIVALENT, 0 ms] (110) QDP (111) TransformationProof [EQUIVALENT, 0 ms] (112) QDP (113) TransformationProof [EQUIVALENT, 0 ms] (114) QDP (115) TransformationProof [EQUIVALENT, 0 ms] (116) QDP (117) TransformationProof [EQUIVALENT, 0 ms] (118) QDP (119) TransformationProof [EQUIVALENT, 0 ms] (120) QDP (121) TransformationProof [EQUIVALENT, 0 ms] (122) QDP (123) TransformationProof [EQUIVALENT, 0 ms] (124) QDP (125) DependencyGraphProof [EQUIVALENT, 0 ms] (126) QDP (127) TransformationProof [EQUIVALENT, 0 ms] (128) QDP (129) TransformationProof [EQUIVALENT, 0 ms] (130) QDP (131) DependencyGraphProof [EQUIVALENT, 0 ms] (132) QDP (133) TransformationProof [EQUIVALENT, 0 ms] (134) QDP (135) TransformationProof [EQUIVALENT, 0 ms] (136) QDP (137) TransformationProof [EQUIVALENT, 0 ms] (138) QDP (139) TransformationProof [EQUIVALENT, 0 ms] (140) QDP (141) TransformationProof [EQUIVALENT, 0 ms] (142) QDP (143) TransformationProof [EQUIVALENT, 0 ms] (144) QDP (145) TransformationProof [EQUIVALENT, 0 ms] (146) QDP (147) DependencyGraphProof [EQUIVALENT, 0 ms] (148) QDP (149) TransformationProof [EQUIVALENT, 0 ms] (150) QDP (151) TransformationProof [EQUIVALENT, 0 ms] (152) QDP (153) DependencyGraphProof [EQUIVALENT, 0 ms] (154) QDP (155) TransformationProof [EQUIVALENT, 0 ms] (156) QDP (157) TransformationProof [EQUIVALENT, 0 ms] (158) QDP (159) TransformationProof [EQUIVALENT, 0 ms] (160) QDP (161) TransformationProof [EQUIVALENT, 0 ms] (162) QDP (163) TransformationProof [EQUIVALENT, 0 ms] (164) QDP (165) TransformationProof [EQUIVALENT, 0 ms] (166) QDP (167) TransformationProof [EQUIVALENT, 0 ms] (168) QDP (169) DependencyGraphProof [EQUIVALENT, 0 ms] (170) QDP (171) TransformationProof [EQUIVALENT, 0 ms] (172) QDP (173) TransformationProof [EQUIVALENT, 0 ms] (174) QDP (175) TransformationProof [EQUIVALENT, 0 ms] (176) QDP (177) TransformationProof [EQUIVALENT, 0 ms] (178) QDP (179) TransformationProof [EQUIVALENT, 0 ms] (180) QDP (181) TransformationProof [EQUIVALENT, 0 ms] (182) QDP (183) TransformationProof [EQUIVALENT, 0 ms] (184) QDP (185) TransformationProof [EQUIVALENT, 0 ms] (186) QDP (187) TransformationProof [EQUIVALENT, 0 ms] (188) QDP (189) TransformationProof [EQUIVALENT, 0 ms] (190) QDP (191) TransformationProof [EQUIVALENT, 0 ms] (192) QDP (193) TransformationProof [EQUIVALENT, 0 ms] (194) QDP (195) TransformationProof [EQUIVALENT, 0 ms] (196) QDP (197) DependencyGraphProof [EQUIVALENT, 0 ms] (198) QDP (199) TransformationProof [EQUIVALENT, 0 ms] (200) QDP (201) TransformationProof [EQUIVALENT, 0 ms] (202) QDP (203) TransformationProof [EQUIVALENT, 0 ms] (204) QDP (205) TransformationProof [EQUIVALENT, 0 ms] (206) QDP (207) TransformationProof [EQUIVALENT, 0 ms] (208) QDP (209) TransformationProof [EQUIVALENT, 0 ms] (210) QDP (211) TransformationProof [EQUIVALENT, 0 ms] (212) QDP (213) TransformationProof [EQUIVALENT, 0 ms] (214) QDP (215) DependencyGraphProof [EQUIVALENT, 0 ms] (216) QDP (217) TransformationProof [EQUIVALENT, 0 ms] (218) QDP (219) TransformationProof [EQUIVALENT, 0 ms] (220) QDP (221) TransformationProof [EQUIVALENT, 0 ms] (222) QDP (223) TransformationProof [EQUIVALENT, 0 ms] (224) QDP (225) TransformationProof [EQUIVALENT, 0 ms] (226) QDP (227) TransformationProof [EQUIVALENT, 0 ms] (228) QDP (229) TransformationProof [EQUIVALENT, 0 ms] (230) QDP (231) TransformationProof [EQUIVALENT, 0 ms] (232) QDP (233) TransformationProof [EQUIVALENT, 0 ms] (234) QDP (235) TransformationProof [EQUIVALENT, 0 ms] (236) QDP (237) TransformationProof [EQUIVALENT, 0 ms] (238) QDP (239) TransformationProof [EQUIVALENT, 0 ms] (240) QDP (241) TransformationProof [EQUIVALENT, 0 ms] (242) QDP (243) DependencyGraphProof [EQUIVALENT, 0 ms] (244) QDP (245) TransformationProof [EQUIVALENT, 0 ms] (246) QDP (247) TransformationProof [EQUIVALENT, 0 ms] (248) QDP (249) TransformationProof [EQUIVALENT, 0 ms] (250) QDP (251) TransformationProof [EQUIVALENT, 0 ms] (252) QDP (253) TransformationProof [EQUIVALENT, 0 ms] (254) QDP (255) TransformationProof [EQUIVALENT, 0 ms] (256) QDP (257) TransformationProof [EQUIVALENT, 0 ms] (258) QDP (259) TransformationProof [EQUIVALENT, 0 ms] (260) QDP (261) DependencyGraphProof [EQUIVALENT, 0 ms] (262) QDP (263) TransformationProof [EQUIVALENT, 0 ms] (264) QDP (265) TransformationProof [EQUIVALENT, 0 ms] (266) QDP (267) TransformationProof [EQUIVALENT, 0 ms] (268) QDP (269) TransformationProof [EQUIVALENT, 0 ms] (270) QDP (271) TransformationProof [EQUIVALENT, 0 ms] (272) QDP (273) TransformationProof [EQUIVALENT, 0 ms] (274) QDP (275) TransformationProof [EQUIVALENT, 0 ms] (276) QDP (277) TransformationProof [EQUIVALENT, 0 ms] (278) QDP (279) TransformationProof [EQUIVALENT, 0 ms] (280) QDP (281) TransformationProof [EQUIVALENT, 0 ms] (282) QDP (283) TransformationProof [EQUIVALENT, 0 ms] (284) QDP (285) TransformationProof [EQUIVALENT, 0 ms] (286) QDP (287) TransformationProof [EQUIVALENT, 0 ms] (288) QDP (289) DependencyGraphProof [EQUIVALENT, 0 ms] (290) QDP (291) TransformationProof [EQUIVALENT, 0 ms] (292) QDP (293) TransformationProof [EQUIVALENT, 0 ms] (294) QDP (295) TransformationProof [EQUIVALENT, 0 ms] (296) QDP (297) TransformationProof [EQUIVALENT, 0 ms] (298) QDP (299) TransformationProof [EQUIVALENT, 0 ms] (300) QDP (301) TransformationProof [EQUIVALENT, 0 ms] (302) QDP (303) TransformationProof [EQUIVALENT, 0 ms] (304) QDP (305) TransformationProof [EQUIVALENT, 0 ms] (306) QDP (307) DependencyGraphProof [EQUIVALENT, 0 ms] (308) QDP (309) TransformationProof [EQUIVALENT, 0 ms] (310) QDP (311) TransformationProof [EQUIVALENT, 0 ms] (312) QDP (313) TransformationProof [EQUIVALENT, 0 ms] (314) QDP (315) TransformationProof [EQUIVALENT, 0 ms] (316) QDP (317) TransformationProof [EQUIVALENT, 0 ms] (318) QDP (319) TransformationProof [EQUIVALENT, 0 ms] (320) QDP (321) TransformationProof [EQUIVALENT, 0 ms] (322) QDP (323) TransformationProof [EQUIVALENT, 0 ms] (324) QDP (325) TransformationProof [EQUIVALENT, 0 ms] (326) QDP (327) TransformationProof [EQUIVALENT, 0 ms] (328) QDP (329) TransformationProof [EQUIVALENT, 0 ms] (330) QDP (331) TransformationProof [EQUIVALENT, 0 ms] (332) QDP (333) TransformationProof [EQUIVALENT, 0 ms] (334) QDP (335) DependencyGraphProof [EQUIVALENT, 0 ms] (336) QDP (337) TransformationProof [EQUIVALENT, 0 ms] (338) QDP (339) TransformationProof [EQUIVALENT, 0 ms] (340) QDP (341) TransformationProof [EQUIVALENT, 0 ms] (342) QDP (343) TransformationProof [EQUIVALENT, 0 ms] (344) QDP (345) TransformationProof [EQUIVALENT, 0 ms] (346) QDP (347) TransformationProof [EQUIVALENT, 0 ms] (348) QDP (349) TransformationProof [EQUIVALENT, 0 ms] (350) QDP (351) TransformationProof [EQUIVALENT, 0 ms] (352) QDP (353) DependencyGraphProof [EQUIVALENT, 0 ms] (354) QDP (355) TransformationProof [EQUIVALENT, 0 ms] (356) QDP (357) TransformationProof [EQUIVALENT, 0 ms] (358) QDP (359) TransformationProof [EQUIVALENT, 0 ms] (360) QDP (361) TransformationProof [EQUIVALENT, 0 ms] (362) QDP (363) TransformationProof [EQUIVALENT, 0 ms] (364) QDP (365) TransformationProof [EQUIVALENT, 0 ms] (366) QDP (367) TransformationProof [EQUIVALENT, 0 ms] (368) QDP (369) TransformationProof [EQUIVALENT, 0 ms] (370) QDP (371) TransformationProof [EQUIVALENT, 0 ms] (372) QDP (373) TransformationProof [EQUIVALENT, 0 ms] (374) QDP (375) TransformationProof [EQUIVALENT, 0 ms] (376) QDP (377) TransformationProof [EQUIVALENT, 0 ms] (378) QDP (379) TransformationProof [EQUIVALENT, 0 ms] (380) QDP (381) TransformationProof [EQUIVALENT, 0 ms] (382) QDP (383) TransformationProof [EQUIVALENT, 0 ms] (384) QDP (385) DependencyGraphProof [EQUIVALENT, 0 ms] (386) QDP (387) TransformationProof [EQUIVALENT, 0 ms] (388) QDP (389) TransformationProof [EQUIVALENT, 0 ms] (390) QDP (391) TransformationProof [EQUIVALENT, 0 ms] (392) QDP (393) TransformationProof [EQUIVALENT, 0 ms] (394) QDP (395) TransformationProof [EQUIVALENT, 0 ms] (396) QDP (397) TransformationProof [EQUIVALENT, 0 ms] (398) QDP (399) TransformationProof [EQUIVALENT, 0 ms] (400) QDP (401) TransformationProof [EQUIVALENT, 0 ms] (402) QDP (403) TransformationProof [EQUIVALENT, 0 ms] (404) QDP (405) TransformationProof [EQUIVALENT, 0 ms] (406) QDP (407) TransformationProof [EQUIVALENT, 0 ms] (408) QDP (409) TransformationProof [EQUIVALENT, 0 ms] (410) QDP (411) TransformationProof [EQUIVALENT, 0 ms] (412) QDP (413) DependencyGraphProof [EQUIVALENT, 0 ms] (414) QDP (415) TransformationProof [EQUIVALENT, 0 ms] (416) QDP (417) TransformationProof [EQUIVALENT, 0 ms] (418) QDP (419) TransformationProof [EQUIVALENT, 0 ms] (420) QDP (421) TransformationProof [EQUIVALENT, 0 ms] (422) QDP (423) TransformationProof [EQUIVALENT, 0 ms] (424) QDP (425) TransformationProof [EQUIVALENT, 0 ms] (426) QDP (427) TransformationProof [EQUIVALENT, 0 ms] (428) QDP (429) TransformationProof [EQUIVALENT, 0 ms] (430) QDP (431) TransformationProof [EQUIVALENT, 0 ms] (432) QDP (433) TransformationProof [EQUIVALENT, 0 ms] (434) QDP (435) TransformationProof [EQUIVALENT, 0 ms] (436) QDP (437) TransformationProof [EQUIVALENT, 0 ms] (438) QDP (439) TransformationProof [EQUIVALENT, 0 ms] (440) QDP (441) TransformationProof [EQUIVALENT, 0 ms] (442) QDP (443) TransformationProof [EQUIVALENT, 0 ms] (444) QDP (445) DependencyGraphProof [EQUIVALENT, 0 ms] (446) QDP (447) TransformationProof [EQUIVALENT, 0 ms] (448) QDP (449) TransformationProof [EQUIVALENT, 0 ms] (450) QDP (451) TransformationProof [EQUIVALENT, 0 ms] (452) QDP (453) TransformationProof [EQUIVALENT, 0 ms] (454) QDP (455) TransformationProof [EQUIVALENT, 0 ms] (456) QDP (457) TransformationProof [EQUIVALENT, 0 ms] (458) QDP (459) TransformationProof [EQUIVALENT, 0 ms] (460) QDP (461) TransformationProof [EQUIVALENT, 0 ms] (462) QDP (463) TransformationProof [EQUIVALENT, 0 ms] (464) QDP (465) TransformationProof [EQUIVALENT, 0 ms] (466) QDP (467) TransformationProof [EQUIVALENT, 0 ms] (468) QDP (469) TransformationProof [EQUIVALENT, 0 ms] (470) QDP (471) TransformationProof [EQUIVALENT, 0 ms] (472) QDP (473) DependencyGraphProof [EQUIVALENT, 0 ms] (474) QDP (475) TransformationProof [EQUIVALENT, 0 ms] (476) QDP (477) TransformationProof [EQUIVALENT, 0 ms] (478) QDP (479) TransformationProof [EQUIVALENT, 0 ms] (480) QDP (481) TransformationProof [EQUIVALENT, 0 ms] (482) QDP (483) TransformationProof [EQUIVALENT, 0 ms] (484) QDP (485) TransformationProof [EQUIVALENT, 0 ms] (486) QDP (487) TransformationProof [EQUIVALENT, 0 ms] (488) QDP (489) TransformationProof [EQUIVALENT, 0 ms] (490) QDP (491) TransformationProof [EQUIVALENT, 0 ms] (492) QDP (493) TransformationProof [EQUIVALENT, 0 ms] (494) QDP (495) TransformationProof [EQUIVALENT, 0 ms] (496) QDP (497) TransformationProof [EQUIVALENT, 0 ms] (498) QDP (499) TransformationProof [EQUIVALENT, 0 ms] (500) QDP (501) TransformationProof [EQUIVALENT, 0 ms] (502) QDP (503) TransformationProof [EQUIVALENT, 0 ms] (504) QDP (505) DependencyGraphProof [EQUIVALENT, 0 ms] (506) QDP (507) TransformationProof [EQUIVALENT, 0 ms] (508) QDP (509) TransformationProof [EQUIVALENT, 0 ms] (510) QDP (511) TransformationProof [EQUIVALENT, 0 ms] (512) QDP (513) TransformationProof [EQUIVALENT, 0 ms] (514) QDP (515) TransformationProof [EQUIVALENT, 0 ms] (516) QDP (517) TransformationProof [EQUIVALENT, 0 ms] (518) QDP (519) TransformationProof [EQUIVALENT, 0 ms] (520) QDP (521) TransformationProof [EQUIVALENT, 0 ms] (522) QDP (523) TransformationProof [EQUIVALENT, 0 ms] (524) QDP (525) TransformationProof [EQUIVALENT, 0 ms] (526) QDP (527) TransformationProof [EQUIVALENT, 0 ms] (528) QDP (529) TransformationProof [EQUIVALENT, 0 ms] (530) QDP (531) TransformationProof [EQUIVALENT, 0 ms] (532) QDP (533) DependencyGraphProof [EQUIVALENT, 0 ms] (534) QDP (535) TransformationProof [EQUIVALENT, 0 ms] (536) QDP (537) TransformationProof [EQUIVALENT, 0 ms] (538) QDP (539) TransformationProof [EQUIVALENT, 0 ms] (540) QDP (541) TransformationProof [EQUIVALENT, 0 ms] (542) QDP (543) TransformationProof [EQUIVALENT, 0 ms] (544) QDP (545) TransformationProof [EQUIVALENT, 0 ms] (546) QDP (547) TransformationProof [EQUIVALENT, 0 ms] (548) QDP (549) TransformationProof [EQUIVALENT, 0 ms] (550) QDP (551) TransformationProof [EQUIVALENT, 0 ms] (552) QDP (553) TransformationProof [EQUIVALENT, 0 ms] (554) QDP (555) TransformationProof [EQUIVALENT, 0 ms] (556) QDP (557) TransformationProof [EQUIVALENT, 0 ms] (558) QDP (559) TransformationProof [EQUIVALENT, 0 ms] (560) QDP (561) TransformationProof [EQUIVALENT, 0 ms] (562) QDP (563) TransformationProof [EQUIVALENT, 0 ms] (564) QDP (565) DependencyGraphProof [EQUIVALENT, 0 ms] (566) QDP (567) TransformationProof [EQUIVALENT, 0 ms] (568) QDP (569) TransformationProof [EQUIVALENT, 0 ms] (570) QDP (571) TransformationProof [EQUIVALENT, 0 ms] (572) QDP (573) TransformationProof [EQUIVALENT, 0 ms] (574) QDP (575) TransformationProof [EQUIVALENT, 0 ms] (576) QDP (577) TransformationProof [EQUIVALENT, 0 ms] (578) QDP (579) TransformationProof [EQUIVALENT, 0 ms] (580) QDP (581) TransformationProof [EQUIVALENT, 0 ms] (582) QDP (583) TransformationProof [EQUIVALENT, 0 ms] (584) QDP (585) TransformationProof [EQUIVALENT, 0 ms] (586) QDP (587) TransformationProof [EQUIVALENT, 0 ms] (588) QDP (589) TransformationProof [EQUIVALENT, 0 ms] (590) QDP (591) TransformationProof [EQUIVALENT, 0 ms] (592) QDP (593) DependencyGraphProof [EQUIVALENT, 0 ms] (594) QDP (595) TransformationProof [EQUIVALENT, 0 ms] (596) QDP (597) QDPOrderProof [EQUIVALENT, 86 ms] (598) QDP (599) QDPOrderProof [EQUIVALENT, 72 ms] (600) QDP (601) MNOCProof [EQUIVALENT, 0 ms] (602) QDP (603) QDPOrderProof [EQUIVALENT, 1916 ms] (604) QDP (605) MNOCProof [EQUIVALENT, 0 ms] (606) QDP (607) InductionCalculusProof [EQUIVALENT, 0 ms] (608) QDP (609) QDP (610) TransformationProof [EQUIVALENT, 0 ms] (611) QDP (612) TransformationProof [EQUIVALENT, 0 ms] (613) QDP (614) UsableRulesProof [EQUIVALENT, 0 ms] (615) QDP (616) QReductionProof [EQUIVALENT, 0 ms] (617) QDP (618) MNOCProof [EQUIVALENT, 0 ms] (619) QDP (620) InductionCalculusProof [EQUIVALENT, 0 ms] (621) QDP (622) TransformationProof [EQUIVALENT, 0 ms] (623) QDP (624) TransformationProof [EQUIVALENT, 0 ms] (625) QDP (626) DependencyGraphProof [EQUIVALENT, 0 ms] (627) QDP (628) TransformationProof [EQUIVALENT, 0 ms] (629) QDP (630) DependencyGraphProof [EQUIVALENT, 0 ms] (631) QDP (632) TransformationProof [EQUIVALENT, 0 ms] (633) QDP (634) DependencyGraphProof [EQUIVALENT, 0 ms] (635) QDP (636) TransformationProof [EQUIVALENT, 0 ms] (637) QDP (638) DependencyGraphProof [EQUIVALENT, 0 ms] (639) QDP (640) TransformationProof [EQUIVALENT, 0 ms] (641) QDP (642) DependencyGraphProof [EQUIVALENT, 0 ms] (643) AND (644) QDP (645) UsableRulesProof [EQUIVALENT, 0 ms] (646) QDP (647) QReductionProof [EQUIVALENT, 0 ms] (648) QDP (649) TransformationProof [EQUIVALENT, 0 ms] (650) QDP (651) DependencyGraphProof [EQUIVALENT, 0 ms] (652) QDP (653) TransformationProof [EQUIVALENT, 0 ms] (654) QDP (655) TransformationProof [EQUIVALENT, 0 ms] (656) QDP (657) DependencyGraphProof [EQUIVALENT, 0 ms] (658) QDP (659) TransformationProof [EQUIVALENT, 0 ms] (660) QDP (661) DependencyGraphProof [EQUIVALENT, 0 ms] (662) AND (663) QDP (664) UsableRulesProof [EQUIVALENT, 0 ms] (665) QDP (666) QReductionProof [EQUIVALENT, 0 ms] (667) QDP (668) TransformationProof [EQUIVALENT, 0 ms] (669) QDP (670) TransformationProof [EQUIVALENT, 0 ms] (671) QDP (672) TransformationProof [EQUIVALENT, 0 ms] (673) QDP (674) TransformationProof [EQUIVALENT, 0 ms] (675) QDP (676) DependencyGraphProof [EQUIVALENT, 0 ms] (677) QDP (678) TransformationProof [EQUIVALENT, 0 ms] (679) QDP (680) TransformationProof [EQUIVALENT, 0 ms] (681) QDP (682) DependencyGraphProof [EQUIVALENT, 0 ms] (683) QDP (684) TransformationProof [EQUIVALENT, 0 ms] (685) QDP (686) TransformationProof [EQUIVALENT, 0 ms] (687) QDP (688) TransformationProof [EQUIVALENT, 0 ms] (689) QDP (690) DependencyGraphProof [EQUIVALENT, 0 ms] (691) QDP (692) TransformationProof [EQUIVALENT, 0 ms] (693) QDP (694) TransformationProof [EQUIVALENT, 0 ms] (695) QDP (696) DependencyGraphProof [EQUIVALENT, 0 ms] (697) QDP (698) TransformationProof [EQUIVALENT, 0 ms] (699) QDP (700) QDPSizeChangeProof [EQUIVALENT, 0 ms] (701) YES (702) QDP (703) UsableRulesProof [EQUIVALENT, 0 ms] (704) QDP (705) QReductionProof [EQUIVALENT, 0 ms] (706) QDP (707) TransformationProof [EQUIVALENT, 0 ms] (708) QDP (709) TransformationProof [EQUIVALENT, 0 ms] (710) QDP (711) TransformationProof [EQUIVALENT, 0 ms] (712) QDP (713) TransformationProof [EQUIVALENT, 0 ms] (714) QDP (715) TransformationProof [EQUIVALENT, 0 ms] (716) QDP (717) TransformationProof [EQUIVALENT, 0 ms] (718) QDP (719) TransformationProof [EQUIVALENT, 0 ms] (720) QDP (721) TransformationProof [EQUIVALENT, 0 ms] (722) QDP (723) TransformationProof [EQUIVALENT, 0 ms] (724) QDP (725) DependencyGraphProof [EQUIVALENT, 0 ms] (726) QDP (727) TransformationProof [EQUIVALENT, 0 ms] (728) QDP (729) TransformationProof [EQUIVALENT, 0 ms] (730) QDP (731) TransformationProof [EQUIVALENT, 0 ms] (732) QDP (733) TransformationProof [EQUIVALENT, 0 ms] (734) QDP (735) TransformationProof [EQUIVALENT, 0 ms] (736) QDP (737) TransformationProof [EQUIVALENT, 0 ms] (738) QDP (739) TransformationProof [EQUIVALENT, 0 ms] (740) QDP (741) TransformationProof [EQUIVALENT, 0 ms] (742) QDP (743) TransformationProof [EQUIVALENT, 0 ms] (744) QDP (745) TransformationProof [EQUIVALENT, 0 ms] (746) QDP (747) TransformationProof [EQUIVALENT, 0 ms] (748) QDP (749) DependencyGraphProof [EQUIVALENT, 0 ms] (750) QDP (751) TransformationProof [EQUIVALENT, 0 ms] (752) QDP (753) DependencyGraphProof [EQUIVALENT, 0 ms] (754) AND (755) QDP (756) TransformationProof [EQUIVALENT, 0 ms] (757) QDP (758) TransformationProof [EQUIVALENT, 0 ms] (759) QDP (760) TransformationProof [EQUIVALENT, 0 ms] (761) QDP (762) TransformationProof [EQUIVALENT, 0 ms] (763) QDP (764) TransformationProof [EQUIVALENT, 0 ms] (765) QDP (766) TransformationProof [EQUIVALENT, 0 ms] (767) QDP (768) DependencyGraphProof [EQUIVALENT, 0 ms] (769) QDP (770) QDPOrderProof [EQUIVALENT, 390 ms] (771) QDP (772) DependencyGraphProof [EQUIVALENT, 0 ms] (773) TRUE (774) QDP (775) TransformationProof [EQUIVALENT, 0 ms] (776) QDP (777) DependencyGraphProof [EQUIVALENT, 0 ms] (778) AND (779) QDP (780) TransformationProof [EQUIVALENT, 0 ms] (781) QDP (782) TransformationProof [EQUIVALENT, 0 ms] (783) QDP (784) TransformationProof [EQUIVALENT, 0 ms] (785) QDP (786) TransformationProof [EQUIVALENT, 0 ms] (787) QDP (788) QReductionProof [EQUIVALENT, 0 ms] (789) QDP (790) InductionCalculusProof [EQUIVALENT, 0 ms] (791) QDP (792) QDP (793) QReductionProof [EQUIVALENT, 0 ms] (794) QDP (795) InductionCalculusProof [EQUIVALENT, 0 ms] (796) QDP (797) QDP (798) UsableRulesProof [EQUIVALENT, 0 ms] (799) QDP (800) QReductionProof [EQUIVALENT, 0 ms] (801) QDP (802) TransformationProof [EQUIVALENT, 0 ms] (803) QDP (804) DependencyGraphProof [EQUIVALENT, 0 ms] (805) QDP (806) TransformationProof [EQUIVALENT, 0 ms] (807) QDP (808) TransformationProof [EQUIVALENT, 0 ms] (809) QDP (810) DependencyGraphProof [EQUIVALENT, 0 ms] (811) QDP (812) TransformationProof [EQUIVALENT, 0 ms] (813) QDP (814) DependencyGraphProof [EQUIVALENT, 0 ms] (815) AND (816) QDP (817) UsableRulesProof [EQUIVALENT, 0 ms] (818) QDP (819) QReductionProof [EQUIVALENT, 0 ms] (820) QDP (821) TransformationProof [EQUIVALENT, 0 ms] (822) QDP (823) TransformationProof [EQUIVALENT, 0 ms] (824) QDP (825) TransformationProof [EQUIVALENT, 0 ms] (826) QDP (827) TransformationProof [EQUIVALENT, 0 ms] (828) QDP (829) DependencyGraphProof [EQUIVALENT, 0 ms] (830) QDP (831) TransformationProof [EQUIVALENT, 0 ms] (832) QDP (833) TransformationProof [EQUIVALENT, 0 ms] (834) QDP (835) DependencyGraphProof [EQUIVALENT, 0 ms] (836) QDP (837) TransformationProof [EQUIVALENT, 0 ms] (838) QDP (839) TransformationProof [EQUIVALENT, 0 ms] (840) QDP (841) TransformationProof [EQUIVALENT, 0 ms] (842) QDP (843) DependencyGraphProof [EQUIVALENT, 0 ms] (844) QDP (845) TransformationProof [EQUIVALENT, 0 ms] (846) QDP (847) TransformationProof [EQUIVALENT, 0 ms] (848) QDP (849) DependencyGraphProof [EQUIVALENT, 0 ms] (850) QDP (851) TransformationProof [EQUIVALENT, 0 ms] (852) QDP (853) QDPSizeChangeProof [EQUIVALENT, 0 ms] (854) YES (855) QDP (856) UsableRulesProof [EQUIVALENT, 0 ms] (857) QDP (858) QReductionProof [EQUIVALENT, 0 ms] (859) QDP (860) TransformationProof [EQUIVALENT, 0 ms] (861) QDP (862) TransformationProof [EQUIVALENT, 0 ms] (863) QDP (864) TransformationProof [EQUIVALENT, 0 ms] (865) QDP (866) TransformationProof [EQUIVALENT, 0 ms] (867) QDP (868) TransformationProof [EQUIVALENT, 0 ms] (869) QDP (870) TransformationProof [EQUIVALENT, 0 ms] (871) QDP (872) TransformationProof [EQUIVALENT, 0 ms] (873) QDP (874) TransformationProof [EQUIVALENT, 0 ms] (875) QDP (876) TransformationProof [EQUIVALENT, 0 ms] (877) QDP (878) DependencyGraphProof [EQUIVALENT, 0 ms] (879) QDP (880) TransformationProof [EQUIVALENT, 0 ms] (881) QDP (882) TransformationProof [EQUIVALENT, 0 ms] (883) QDP (884) TransformationProof [EQUIVALENT, 0 ms] (885) QDP (886) TransformationProof [EQUIVALENT, 0 ms] (887) QDP (888) TransformationProof [EQUIVALENT, 0 ms] (889) QDP (890) TransformationProof [EQUIVALENT, 0 ms] (891) QDP (892) TransformationProof [EQUIVALENT, 0 ms] (893) QDP (894) TransformationProof [EQUIVALENT, 0 ms] (895) QDP (896) TransformationProof [EQUIVALENT, 0 ms] (897) QDP (898) TransformationProof [EQUIVALENT, 0 ms] (899) QDP (900) TransformationProof [EQUIVALENT, 0 ms] (901) QDP (902) DependencyGraphProof [EQUIVALENT, 0 ms] (903) QDP (904) TransformationProof [EQUIVALENT, 0 ms] (905) QDP (906) DependencyGraphProof [EQUIVALENT, 0 ms] (907) AND (908) QDP (909) TransformationProof [EQUIVALENT, 0 ms] (910) QDP (911) TransformationProof [EQUIVALENT, 0 ms] (912) QDP (913) TransformationProof [EQUIVALENT, 0 ms] (914) QDP (915) TransformationProof [EQUIVALENT, 0 ms] (916) QDP (917) TransformationProof [EQUIVALENT, 0 ms] (918) QDP (919) TransformationProof [EQUIVALENT, 0 ms] (920) QDP (921) DependencyGraphProof [EQUIVALENT, 0 ms] (922) QDP (923) QDPOrderProof [EQUIVALENT, 391 ms] (924) QDP (925) DependencyGraphProof [EQUIVALENT, 0 ms] (926) TRUE (927) QDP (928) TransformationProof [EQUIVALENT, 0 ms] (929) QDP (930) DependencyGraphProof [EQUIVALENT, 0 ms] (931) AND (932) QDP (933) TransformationProof [EQUIVALENT, 0 ms] (934) QDP (935) TransformationProof [EQUIVALENT, 0 ms] (936) QDP (937) TransformationProof [EQUIVALENT, 0 ms] (938) QDP (939) TransformationProof [EQUIVALENT, 0 ms] (940) QDP (941) QReductionProof [EQUIVALENT, 0 ms] (942) QDP (943) InductionCalculusProof [EQUIVALENT, 0 ms] (944) QDP (945) QDP (946) QReductionProof [EQUIVALENT, 0 ms] (947) QDP (948) InductionCalculusProof [EQUIVALENT, 0 ms] (949) QDP (950) QDP (951) UsableRulesProof [EQUIVALENT, 0 ms] (952) QDP (953) QReductionProof [EQUIVALENT, 0 ms] (954) QDP (955) TransformationProof [EQUIVALENT, 0 ms] (956) QDP (957) DependencyGraphProof [EQUIVALENT, 0 ms] (958) QDP (959) TransformationProof [EQUIVALENT, 0 ms] (960) QDP (961) TransformationProof [EQUIVALENT, 0 ms] (962) QDP (963) DependencyGraphProof [EQUIVALENT, 0 ms] (964) QDP (965) TransformationProof [EQUIVALENT, 0 ms] (966) QDP (967) DependencyGraphProof [EQUIVALENT, 0 ms] (968) QDP (969) TransformationProof [EQUIVALENT, 0 ms] (970) QDP (971) TransformationProof [EQUIVALENT, 0 ms] (972) QDP (973) TransformationProof [EQUIVALENT, 0 ms] (974) QDP (975) DependencyGraphProof [EQUIVALENT, 0 ms] (976) QDP (977) TransformationProof [EQUIVALENT, 0 ms] (978) QDP (979) TransformationProof [EQUIVALENT, 0 ms] (980) QDP (981) TransformationProof [EQUIVALENT, 0 ms] (982) QDP (983) TransformationProof [EQUIVALENT, 0 ms] (984) QDP (985) DependencyGraphProof [EQUIVALENT, 0 ms] (986) QDP (987) TransformationProof [EQUIVALENT, 0 ms] (988) QDP (989) TransformationProof [EQUIVALENT, 0 ms] (990) QDP (991) TransformationProof [EQUIVALENT, 0 ms] (992) QDP (993) TransformationProof [EQUIVALENT, 0 ms] (994) QDP (995) TransformationProof [EQUIVALENT, 0 ms] (996) QDP (997) TransformationProof [EQUIVALENT, 0 ms] (998) QDP (999) TransformationProof [EQUIVALENT, 0 ms] (1000) QDP (1001) DependencyGraphProof [EQUIVALENT, 0 ms] (1002) QDP (1003) TransformationProof [EQUIVALENT, 0 ms] (1004) QDP (1005) DependencyGraphProof [EQUIVALENT, 0 ms] (1006) AND (1007) QDP (1008) UsableRulesProof [EQUIVALENT, 0 ms] (1009) QDP (1010) QReductionProof [EQUIVALENT, 0 ms] (1011) QDP (1012) TransformationProof [EQUIVALENT, 0 ms] (1013) QDP (1014) TransformationProof [EQUIVALENT, 0 ms] (1015) QDP (1016) DependencyGraphProof [EQUIVALENT, 0 ms] (1017) QDP (1018) TransformationProof [EQUIVALENT, 0 ms] (1019) QDP (1020) TransformationProof [EQUIVALENT, 0 ms] (1021) QDP (1022) DependencyGraphProof [EQUIVALENT, 0 ms] (1023) QDP (1024) TransformationProof [EQUIVALENT, 0 ms] (1025) QDP (1026) TransformationProof [EQUIVALENT, 0 ms] (1027) QDP (1028) TransformationProof [EQUIVALENT, 0 ms] (1029) QDP (1030) DependencyGraphProof [EQUIVALENT, 0 ms] (1031) QDP (1032) TransformationProof [EQUIVALENT, 0 ms] (1033) QDP (1034) TransformationProof [EQUIVALENT, 0 ms] (1035) QDP (1036) DependencyGraphProof [EQUIVALENT, 0 ms] (1037) QDP (1038) TransformationProof [EQUIVALENT, 0 ms] (1039) QDP (1040) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1041) YES (1042) QDP (1043) UsableRulesProof [EQUIVALENT, 0 ms] (1044) QDP (1045) QReductionProof [EQUIVALENT, 0 ms] (1046) QDP (1047) TransformationProof [EQUIVALENT, 0 ms] (1048) QDP (1049) TransformationProof [EQUIVALENT, 0 ms] (1050) QDP (1051) TransformationProof [EQUIVALENT, 0 ms] (1052) QDP (1053) TransformationProof [EQUIVALENT, 0 ms] (1054) QDP (1055) TransformationProof [EQUIVALENT, 0 ms] (1056) QDP (1057) DependencyGraphProof [EQUIVALENT, 0 ms] (1058) QDP (1059) TransformationProof [EQUIVALENT, 0 ms] (1060) QDP (1061) TransformationProof [EQUIVALENT, 0 ms] (1062) QDP (1063) TransformationProof [EQUIVALENT, 0 ms] (1064) QDP (1065) TransformationProof [EQUIVALENT, 0 ms] (1066) QDP (1067) DependencyGraphProof [EQUIVALENT, 0 ms] (1068) QDP (1069) TransformationProof [EQUIVALENT, 0 ms] (1070) QDP (1071) DependencyGraphProof [EQUIVALENT, 0 ms] (1072) QDP (1073) TransformationProof [EQUIVALENT, 0 ms] (1074) QDP (1075) TransformationProof [EQUIVALENT, 0 ms] (1076) QDP (1077) DependencyGraphProof [EQUIVALENT, 0 ms] (1078) QDP (1079) TransformationProof [EQUIVALENT, 0 ms] (1080) QDP (1081) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1082) YES (1083) QDP (1084) UsableRulesProof [EQUIVALENT, 0 ms] (1085) QDP (1086) QReductionProof [EQUIVALENT, 0 ms] (1087) QDP (1088) TransformationProof [EQUIVALENT, 0 ms] (1089) QDP (1090) TransformationProof [EQUIVALENT, 0 ms] (1091) QDP (1092) TransformationProof [EQUIVALENT, 0 ms] (1093) QDP (1094) TransformationProof [EQUIVALENT, 0 ms] (1095) QDP (1096) TransformationProof [EQUIVALENT, 0 ms] (1097) QDP (1098) TransformationProof [EQUIVALENT, 0 ms] (1099) QDP (1100) TransformationProof [EQUIVALENT, 0 ms] (1101) QDP (1102) TransformationProof [EQUIVALENT, 0 ms] (1103) QDP (1104) TransformationProof [EQUIVALENT, 0 ms] (1105) QDP (1106) DependencyGraphProof [EQUIVALENT, 0 ms] (1107) QDP (1108) TransformationProof [EQUIVALENT, 0 ms] (1109) QDP (1110) TransformationProof [EQUIVALENT, 0 ms] (1111) QDP (1112) TransformationProof [EQUIVALENT, 0 ms] (1113) QDP (1114) TransformationProof [EQUIVALENT, 0 ms] (1115) QDP (1116) TransformationProof [EQUIVALENT, 0 ms] (1117) QDP (1118) TransformationProof [EQUIVALENT, 0 ms] (1119) QDP (1120) TransformationProof [EQUIVALENT, 0 ms] (1121) QDP (1122) DependencyGraphProof [EQUIVALENT, 0 ms] (1123) QDP (1124) TransformationProof [EQUIVALENT, 1 ms] (1125) QDP (1126) DependencyGraphProof [EQUIVALENT, 0 ms] (1127) QDP (1128) TransformationProof [EQUIVALENT, 0 ms] (1129) QDP (1130) TransformationProof [EQUIVALENT, 0 ms] (1131) QDP (1132) TransformationProof [EQUIVALENT, 0 ms] (1133) QDP (1134) TransformationProof [EQUIVALENT, 0 ms] (1135) QDP (1136) TransformationProof [EQUIVALENT, 0 ms] (1137) QDP (1138) DependencyGraphProof [EQUIVALENT, 0 ms] (1139) QDP (1140) TransformationProof [EQUIVALENT, 0 ms] (1141) QDP (1142) DependencyGraphProof [EQUIVALENT, 0 ms] (1143) QDP (1144) TransformationProof [EQUIVALENT, 0 ms] (1145) QDP (1146) DependencyGraphProof [EQUIVALENT, 0 ms] (1147) AND (1148) QDP (1149) UsableRulesProof [EQUIVALENT, 0 ms] (1150) QDP (1151) TransformationProof [EQUIVALENT, 0 ms] (1152) QDP (1153) TransformationProof [EQUIVALENT, 0 ms] (1154) QDP (1155) TransformationProof [EQUIVALENT, 0 ms] (1156) QDP (1157) TransformationProof [EQUIVALENT, 0 ms] (1158) QDP (1159) DependencyGraphProof [EQUIVALENT, 0 ms] (1160) QDP (1161) TransformationProof [EQUIVALENT, 0 ms] (1162) QDP (1163) DependencyGraphProof [EQUIVALENT, 0 ms] (1164) QDP (1165) InductionCalculusProof [EQUIVALENT, 0 ms] (1166) QDP (1167) QDP (1168) UsableRulesProof [EQUIVALENT, 0 ms] (1169) QDP (1170) TransformationProof [EQUIVALENT, 0 ms] (1171) QDP (1172) UsableRulesProof [EQUIVALENT, 0 ms] (1173) QDP (1174) InductionCalculusProof [EQUIVALENT, 0 ms] (1175) QDP (1176) QDP (1177) TransformationProof [EQUIVALENT, 0 ms] (1178) QDP (1179) TransformationProof [EQUIVALENT, 0 ms] (1180) QDP (1181) TransformationProof [EQUIVALENT, 0 ms] (1182) QDP (1183) TransformationProof [EQUIVALENT, 0 ms] (1184) QDP (1185) TransformationProof [EQUIVALENT, 0 ms] (1186) QDP (1187) TransformationProof [EQUIVALENT, 0 ms] (1188) QDP (1189) TransformationProof [EQUIVALENT, 0 ms] (1190) QDP (1191) TransformationProof [EQUIVALENT, 0 ms] (1192) QDP (1193) TransformationProof [EQUIVALENT, 0 ms] (1194) QDP (1195) TransformationProof [EQUIVALENT, 0 ms] (1196) QDP (1197) TransformationProof [EQUIVALENT, 0 ms] (1198) QDP (1199) DependencyGraphProof [EQUIVALENT, 0 ms] (1200) QDP (1201) TransformationProof [EQUIVALENT, 0 ms] (1202) QDP (1203) DependencyGraphProof [EQUIVALENT, 0 ms] (1204) QDP (1205) TransformationProof [EQUIVALENT, 0 ms] (1206) QDP (1207) TransformationProof [EQUIVALENT, 0 ms] (1208) QDP (1209) TransformationProof [EQUIVALENT, 0 ms] (1210) QDP (1211) TransformationProof [EQUIVALENT, 0 ms] (1212) QDP (1213) TransformationProof [EQUIVALENT, 0 ms] (1214) QDP (1215) TransformationProof [EQUIVALENT, 0 ms] (1216) QDP (1217) DependencyGraphProof [EQUIVALENT, 0 ms] (1218) AND (1219) QDP (1220) UsableRulesProof [EQUIVALENT, 0 ms] (1221) QDP (1222) TransformationProof [EQUIVALENT, 0 ms] (1223) QDP (1224) TransformationProof [EQUIVALENT, 0 ms] (1225) QDP (1226) TransformationProof [EQUIVALENT, 0 ms] (1227) QDP (1228) TransformationProof [EQUIVALENT, 0 ms] (1229) QDP (1230) InductionCalculusProof [EQUIVALENT, 0 ms] (1231) QDP (1232) QDP (1233) UsableRulesProof [EQUIVALENT, 0 ms] (1234) QDP (1235) InductionCalculusProof [EQUIVALENT, 0 ms] (1236) QDP (1237) QDP (1238) InductionCalculusProof [EQUIVALENT, 0 ms] (1239) QDP (1240) QDP (1241) DependencyGraphProof [EQUIVALENT, 0 ms] (1242) AND (1243) QDP (1244) MRRProof [EQUIVALENT, 0 ms] (1245) QDP (1246) PisEmptyProof [EQUIVALENT, 0 ms] (1247) YES (1248) QDP (1249) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1250) YES (1251) QDP (1252) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1253) YES (1254) QDP (1255) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1256) YES (1257) QDP (1258) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1259) YES (1260) QDP (1261) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1262) YES (1263) Narrow [COMPLETE, 0 ms] (1264) AND (1265) QDP (1266) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1267) YES (1268) QDP (1269) PisEmptyProof [EQUIVALENT, 0 ms] (1270) YES (1271) QDP (1272) QDPSizeChangeProof [EQUIVALENT, 0 ms] (1273) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" is transformed to "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); primDivNatS0 x y False = Zero; " The following If expression "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" is transformed to "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); primModNatS0 x y False = Succ x; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "absReal x|x >= 0x|otherwise`negate` x; " is transformed to "absReal x = absReal2 x; " "absReal1 x True = x; absReal1 x False = absReal0 x otherwise; " "absReal0 x True = `negate` x; " "absReal2 x = absReal1 x (x >= 0); " The following Function with conditions "gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); " is transformed to "gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; " "gcd'0 x y = gcd' y (x `rem` y); " "gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; " "gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; " The following Function with conditions "gcd 0 0 = error []; gcd x y = gcd' (abs x) (abs y) where { gcd' x 0 = x; gcd' x y = gcd' y (x `rem` y); } ; " is transformed to "gcd yz zu = gcd3 yz zu; gcd x y = gcd0 x y; " "gcd0 x y = gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } ; " "gcd1 True yz zu = error []; gcd1 zv zw zx = gcd0 zw zx; " "gcd2 True yz zu = gcd1 (zu == 0) yz zu; gcd2 zy zz vuu = gcd0 zz vuu; " "gcd3 yz zu = gcd2 (yz == 0) yz zu; gcd3 vuv vuw = gcd0 vuv vuw; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { d = gcd x y; } ; " is transformed to "reduce x y = reduce2 x y; " "reduce2 x y = reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } ; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "gcd' (abs x) (abs y) where { gcd' x xz = gcd'2 x xz; gcd' x y = gcd'0 x y; ; gcd'0 x y = gcd' y (x `rem` y); ; gcd'1 True x xz = x; gcd'1 yu yv yw = gcd'0 yv yw; ; gcd'2 x xz = gcd'1 (xz == 0) x xz; gcd'2 yx yy = gcd'0 yx yy; } " are unpacked to the following functions on top level "gcd0Gcd'1 True x xz = x; gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; " "gcd0Gcd' x xz = gcd0Gcd'2 x xz; gcd0Gcd' x y = gcd0Gcd'0 x y; " "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); " "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; " The bindings of the following Let/Where expression "reduce1 x y (y == 0) where { d = gcd x y; ; reduce0 x y True = x `quot` d :% (y `quot` d); ; reduce1 x y True = error []; reduce1 x y False = reduce0 x y otherwise; } " are unpacked to the following functions on top level "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); " "reduce2Reduce1 vux vuy x y True = error []; reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; " "reduce2D vux vuy = gcd vux vuy; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(+)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(+) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(+) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1355[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1355[label="",style="solid", color="blue", weight=9]; 1355 -> 5[label="",style="solid", color="blue", weight=3]; 1356[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1356[label="",style="solid", color="blue", weight=9]; 1356 -> 6[label="",style="solid", color="blue", weight=3]; 1357[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1357[label="",style="solid", color="blue", weight=9]; 1357 -> 7[label="",style="solid", color="blue", weight=3]; 1358[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1358[label="",style="solid", color="blue", weight=9]; 1358 -> 8[label="",style="solid", color="blue", weight=3]; 1359[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1359[label="",style="solid", color="blue", weight=9]; 1359 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1360[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];5 -> 1360[label="",style="solid", color="burlywood", weight=9]; 1360 -> 10[label="",style="solid", color="burlywood", weight=3]; 6[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];6 -> 11[label="",style="solid", color="black", weight=3]; 7[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1361[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1361[label="",style="solid", color="burlywood", weight=9]; 1361 -> 13[label="",style="solid", color="burlywood", weight=3]; 9[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="(+) vuz30 :% vuz31 vuz4",fontsize=16,color="burlywood",shape="box"];1362[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];10 -> 1362[label="",style="solid", color="burlywood", weight=9]; 1362 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="primPlusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1363[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];11 -> 1363[label="",style="solid", color="burlywood", weight=9]; 1363 -> 16[label="",style="solid", color="burlywood", weight=3]; 12[label="primPlusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1364[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1364[label="",style="solid", color="burlywood", weight=9]; 1364 -> 17[label="",style="solid", color="burlywood", weight=3]; 13[label="(+) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1365[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];13 -> 1365[label="",style="solid", color="burlywood", weight=9]; 1365 -> 18[label="",style="solid", color="burlywood", weight=3]; 14[label="primPlusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1366[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1366[label="",style="solid", color="burlywood", weight=9]; 1366 -> 19[label="",style="solid", color="burlywood", weight=3]; 1367[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1367[label="",style="solid", color="burlywood", weight=9]; 1367 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="(+) vuz30 :% vuz31 vuz40 :% vuz41",fontsize=16,color="black",shape="box"];15 -> 21[label="",style="solid", color="black", weight=3]; 16[label="primPlusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1368[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];16 -> 1368[label="",style="solid", color="burlywood", weight=9]; 1368 -> 22[label="",style="solid", color="burlywood", weight=3]; 17[label="primPlusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1369[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];17 -> 1369[label="",style="solid", color="burlywood", weight=9]; 1369 -> 23[label="",style="solid", color="burlywood", weight=3]; 18[label="(+) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 19[label="primPlusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1370[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];19 -> 1370[label="",style="solid", color="burlywood", weight=9]; 1370 -> 25[label="",style="solid", color="burlywood", weight=3]; 1371[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];19 -> 1371[label="",style="solid", color="burlywood", weight=9]; 1371 -> 26[label="",style="solid", color="burlywood", weight=3]; 20[label="primPlusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1372[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];20 -> 1372[label="",style="solid", color="burlywood", weight=9]; 1372 -> 27[label="",style="solid", color="burlywood", weight=3]; 1373[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];20 -> 1373[label="",style="solid", color="burlywood", weight=9]; 1373 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="reduce (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="primPlusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="primPlusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="Integer (primPlusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];24 -> 32[label="",style="dashed", color="green", weight=3]; 25[label="primPlusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="primPlusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primPlusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="primPlusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="reduce2 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30[label="Float (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];30 -> 38[label="",style="dashed", color="green", weight=3]; 30 -> 39[label="",style="dashed", color="green", weight=3]; 31[label="Double (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];31 -> 40[label="",style="dashed", color="green", weight=3]; 31 -> 41[label="",style="dashed", color="green", weight=3]; 32 -> 14[label="",style="dashed", color="red", weight=0]; 32[label="primPlusInt vuz30 vuz40",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 33[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 34[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1374[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];34 -> 1374[label="",style="solid", color="burlywood", weight=9]; 1374 -> 45[label="",style="solid", color="burlywood", weight=3]; 1375[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 1375[label="",style="solid", color="burlywood", weight=9]; 1375 -> 46[label="",style="solid", color="burlywood", weight=3]; 35 -> 34[label="",style="dashed", color="red", weight=0]; 35[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];35 -> 47[label="",style="dashed", color="magenta", weight=3]; 35 -> 48[label="",style="dashed", color="magenta", weight=3]; 36[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];36 -> 49[label="",style="dashed", color="green", weight=3]; 37 -> 50[label="",style="dashed", color="red", weight=0]; 37[label="reduce2Reduce1 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="magenta"];37 -> 51[label="",style="dashed", color="magenta", weight=3]; 37 -> 52[label="",style="dashed", color="magenta", weight=3]; 37 -> 53[label="",style="dashed", color="magenta", weight=3]; 37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38 -> 9[label="",style="dashed", color="red", weight=0]; 38[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];38 -> 56[label="",style="dashed", color="magenta", weight=3]; 38 -> 57[label="",style="dashed", color="magenta", weight=3]; 39[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];39 -> 58[label="",style="solid", color="black", weight=3]; 40 -> 9[label="",style="dashed", color="red", weight=0]; 40[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];40 -> 59[label="",style="dashed", color="magenta", weight=3]; 40 -> 60[label="",style="dashed", color="magenta", weight=3]; 41 -> 39[label="",style="dashed", color="red", weight=0]; 41[label="vuz31 * vuz41",fontsize=16,color="magenta"];41 -> 61[label="",style="dashed", color="magenta", weight=3]; 41 -> 62[label="",style="dashed", color="magenta", weight=3]; 42[label="vuz40",fontsize=16,color="green",shape="box"];43[label="vuz30",fontsize=16,color="green",shape="box"];44[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1376[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];44 -> 1376[label="",style="solid", color="burlywood", weight=9]; 1376 -> 63[label="",style="solid", color="burlywood", weight=3]; 1377[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];44 -> 1377[label="",style="solid", color="burlywood", weight=9]; 1377 -> 64[label="",style="solid", color="burlywood", weight=3]; 45[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1378[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];45 -> 1378[label="",style="solid", color="burlywood", weight=9]; 1378 -> 65[label="",style="solid", color="burlywood", weight=3]; 1379[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 1379[label="",style="solid", color="burlywood", weight=9]; 1379 -> 66[label="",style="solid", color="burlywood", weight=3]; 46[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1380[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];46 -> 1380[label="",style="solid", color="burlywood", weight=9]; 1380 -> 67[label="",style="solid", color="burlywood", weight=3]; 1381[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];46 -> 1381[label="",style="solid", color="burlywood", weight=9]; 1381 -> 68[label="",style="solid", color="burlywood", weight=3]; 47[label="vuz40",fontsize=16,color="green",shape="box"];48[label="vuz30",fontsize=16,color="green",shape="box"];49 -> 44[label="",style="dashed", color="red", weight=0]; 49[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];49 -> 69[label="",style="dashed", color="magenta", weight=3]; 49 -> 70[label="",style="dashed", color="magenta", weight=3]; 51[label="vuz41",fontsize=16,color="green",shape="box"];52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1382[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];55 -> 1382[label="",style="solid", color="blue", weight=9]; 1382 -> 71[label="",style="solid", color="blue", weight=3]; 1383[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];55 -> 1383[label="",style="solid", color="blue", weight=9]; 1383 -> 72[label="",style="solid", color="blue", weight=3]; 50[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) vuz15",fontsize=16,color="burlywood",shape="triangle"];1384[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];50 -> 1384[label="",style="solid", color="burlywood", weight=9]; 1384 -> 73[label="",style="solid", color="burlywood", weight=3]; 1385[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];50 -> 1385[label="",style="solid", color="burlywood", weight=9]; 1385 -> 74[label="",style="solid", color="burlywood", weight=3]; 56 -> 39[label="",style="dashed", color="red", weight=0]; 56[label="vuz40 * vuz31",fontsize=16,color="magenta"];56 -> 75[label="",style="dashed", color="magenta", weight=3]; 56 -> 76[label="",style="dashed", color="magenta", weight=3]; 57 -> 39[label="",style="dashed", color="red", weight=0]; 57[label="vuz30 * vuz41",fontsize=16,color="magenta"];57 -> 77[label="",style="dashed", color="magenta", weight=3]; 58[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1386[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];58 -> 1386[label="",style="solid", color="burlywood", weight=9]; 1386 -> 78[label="",style="solid", color="burlywood", weight=3]; 1387[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];58 -> 1387[label="",style="solid", color="burlywood", weight=9]; 1387 -> 79[label="",style="solid", color="burlywood", weight=3]; 59 -> 39[label="",style="dashed", color="red", weight=0]; 59[label="vuz40 * vuz31",fontsize=16,color="magenta"];59 -> 80[label="",style="dashed", color="magenta", weight=3]; 59 -> 81[label="",style="dashed", color="magenta", weight=3]; 60 -> 39[label="",style="dashed", color="red", weight=0]; 60[label="vuz30 * vuz41",fontsize=16,color="magenta"];60 -> 82[label="",style="dashed", color="magenta", weight=3]; 60 -> 83[label="",style="dashed", color="magenta", weight=3]; 61[label="vuz31",fontsize=16,color="green",shape="box"];62[label="vuz41",fontsize=16,color="green",shape="box"];63[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1388[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];63 -> 1388[label="",style="solid", color="burlywood", weight=9]; 1388 -> 84[label="",style="solid", color="burlywood", weight=3]; 1389[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1389[label="",style="solid", color="burlywood", weight=9]; 1389 -> 85[label="",style="solid", color="burlywood", weight=3]; 64[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1390[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];64 -> 1390[label="",style="solid", color="burlywood", weight=9]; 1390 -> 86[label="",style="solid", color="burlywood", weight=3]; 1391[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1391[label="",style="solid", color="burlywood", weight=9]; 1391 -> 87[label="",style="solid", color="burlywood", weight=3]; 65[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];65 -> 88[label="",style="solid", color="black", weight=3]; 66[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];66 -> 89[label="",style="solid", color="black", weight=3]; 67[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];67 -> 90[label="",style="solid", color="black", weight=3]; 68[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];68 -> 91[label="",style="solid", color="black", weight=3]; 69[label="vuz40",fontsize=16,color="green",shape="box"];70[label="vuz30",fontsize=16,color="green",shape="box"];71[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1392[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];71 -> 1392[label="",style="solid", color="burlywood", weight=9]; 1392 -> 92[label="",style="solid", color="burlywood", weight=3]; 72 -> 93[label="",style="dashed", color="red", weight=0]; 72[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="magenta"];72 -> 94[label="",style="dashed", color="magenta", weight=3]; 73[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) False",fontsize=16,color="black",shape="box"];73 -> 95[label="",style="solid", color="black", weight=3]; 74[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];74 -> 96[label="",style="solid", color="black", weight=3]; 75[label="vuz40",fontsize=16,color="green",shape="box"];76[label="vuz31",fontsize=16,color="green",shape="box"];77[label="vuz30",fontsize=16,color="green",shape="box"];78[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1393[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];78 -> 1393[label="",style="solid", color="burlywood", weight=9]; 1393 -> 97[label="",style="solid", color="burlywood", weight=3]; 1394[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];78 -> 1394[label="",style="solid", color="burlywood", weight=9]; 1394 -> 98[label="",style="solid", color="burlywood", weight=3]; 79[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1395[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];79 -> 1395[label="",style="solid", color="burlywood", weight=9]; 1395 -> 99[label="",style="solid", color="burlywood", weight=3]; 1396[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];79 -> 1396[label="",style="solid", color="burlywood", weight=9]; 1396 -> 100[label="",style="solid", color="burlywood", weight=3]; 80[label="vuz40",fontsize=16,color="green",shape="box"];81[label="vuz31",fontsize=16,color="green",shape="box"];82[label="vuz30",fontsize=16,color="green",shape="box"];83[label="vuz41",fontsize=16,color="green",shape="box"];84[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];85 -> 102[label="",style="solid", color="black", weight=3]; 86[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];86 -> 103[label="",style="solid", color="black", weight=3]; 87[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];87 -> 104[label="",style="solid", color="black", weight=3]; 88 -> 34[label="",style="dashed", color="red", weight=0]; 88[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];88 -> 105[label="",style="dashed", color="magenta", weight=3]; 88 -> 106[label="",style="dashed", color="magenta", weight=3]; 89[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];90[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];91[label="Pos Zero",fontsize=16,color="green",shape="box"];92[label="Integer vuz310 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1397[label="vuz41/Integer vuz410",fontsize=10,color="white",style="solid",shape="box"];92 -> 1397[label="",style="solid", color="burlywood", weight=9]; 1397 -> 107[label="",style="solid", color="burlywood", weight=3]; 94 -> 39[label="",style="dashed", color="red", weight=0]; 94[label="vuz31 * vuz41",fontsize=16,color="magenta"];94 -> 108[label="",style="dashed", color="magenta", weight=3]; 94 -> 109[label="",style="dashed", color="magenta", weight=3]; 93[label="vuz16 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];93 -> 110[label="",style="solid", color="black", weight=3]; 95[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) otherwise",fontsize=16,color="black",shape="box"];95 -> 111[label="",style="solid", color="black", weight=3]; 96[label="error []",fontsize=16,color="black",shape="box"];96 -> 112[label="",style="solid", color="black", weight=3]; 97[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];97 -> 113[label="",style="solid", color="black", weight=3]; 98[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];98 -> 114[label="",style="solid", color="black", weight=3]; 99[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];99 -> 115[label="",style="solid", color="black", weight=3]; 100[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];100 -> 116[label="",style="solid", color="black", weight=3]; 101[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];101 -> 117[label="",style="dashed", color="green", weight=3]; 102[label="Succ vuz300",fontsize=16,color="green",shape="box"];103[label="Succ vuz400",fontsize=16,color="green",shape="box"];104[label="Zero",fontsize=16,color="green",shape="box"];105[label="vuz300",fontsize=16,color="green",shape="box"];106[label="vuz400",fontsize=16,color="green",shape="box"];107[label="Integer vuz310 * Integer vuz410 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];107 -> 118[label="",style="solid", color="black", weight=3]; 108[label="vuz31",fontsize=16,color="green",shape="box"];109[label="vuz41",fontsize=16,color="green",shape="box"];110[label="primEqInt vuz16 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1398[label="vuz16/Pos vuz160",fontsize=10,color="white",style="solid",shape="box"];110 -> 1398[label="",style="solid", color="burlywood", weight=9]; 1398 -> 119[label="",style="solid", color="burlywood", weight=3]; 1399[label="vuz16/Neg vuz160",fontsize=10,color="white",style="solid",shape="box"];110 -> 1399[label="",style="solid", color="burlywood", weight=9]; 1399 -> 120[label="",style="solid", color="burlywood", weight=3]; 111[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];111 -> 121[label="",style="solid", color="black", weight=3]; 112[label="error []",fontsize=16,color="red",shape="box"];113[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];113 -> 122[label="",style="dashed", color="green", weight=3]; 114[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];114 -> 123[label="",style="dashed", color="green", weight=3]; 115[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];115 -> 124[label="",style="dashed", color="green", weight=3]; 116[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];116 -> 125[label="",style="dashed", color="green", weight=3]; 117 -> 44[label="",style="dashed", color="red", weight=0]; 117[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];117 -> 126[label="",style="dashed", color="magenta", weight=3]; 117 -> 127[label="",style="dashed", color="magenta", weight=3]; 118 -> 128[label="",style="dashed", color="red", weight=0]; 118[label="Integer (primMulInt vuz310 vuz410) == fromInt (Pos Zero)",fontsize=16,color="magenta"];118 -> 129[label="",style="dashed", color="magenta", weight=3]; 119[label="primEqInt (Pos vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1400[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];119 -> 1400[label="",style="solid", color="burlywood", weight=9]; 1400 -> 130[label="",style="solid", color="burlywood", weight=3]; 1401[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];119 -> 1401[label="",style="solid", color="burlywood", weight=9]; 1401 -> 131[label="",style="solid", color="burlywood", weight=3]; 120[label="primEqInt (Neg vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1402[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];120 -> 1402[label="",style="solid", color="burlywood", weight=9]; 1402 -> 132[label="",style="solid", color="burlywood", weight=3]; 1403[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1403[label="",style="solid", color="burlywood", weight=9]; 1403 -> 133[label="",style="solid", color="burlywood", weight=3]; 121[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) :% (vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12))",fontsize=16,color="green",shape="box"];121 -> 134[label="",style="dashed", color="green", weight=3]; 121 -> 135[label="",style="dashed", color="green", weight=3]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1404[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1404[label="",style="solid", color="burlywood", weight=9]; 1404 -> 136[label="",style="solid", color="burlywood", weight=3]; 1405[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1405[label="",style="solid", color="burlywood", weight=9]; 1405 -> 137[label="",style="solid", color="burlywood", weight=3]; 123 -> 122[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 138[label="",style="dashed", color="magenta", weight=3]; 124 -> 122[label="",style="dashed", color="red", weight=0]; 124[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];124 -> 139[label="",style="dashed", color="magenta", weight=3]; 125 -> 122[label="",style="dashed", color="red", weight=0]; 125[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];125 -> 140[label="",style="dashed", color="magenta", weight=3]; 125 -> 141[label="",style="dashed", color="magenta", weight=3]; 126[label="vuz400",fontsize=16,color="green",shape="box"];127[label="vuz300",fontsize=16,color="green",shape="box"];129 -> 58[label="",style="dashed", color="red", weight=0]; 129[label="primMulInt vuz310 vuz410",fontsize=16,color="magenta"];129 -> 142[label="",style="dashed", color="magenta", weight=3]; 129 -> 143[label="",style="dashed", color="magenta", weight=3]; 128[label="Integer vuz17 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];128 -> 144[label="",style="solid", color="black", weight=3]; 130[label="primEqInt (Pos (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];130 -> 145[label="",style="solid", color="black", weight=3]; 131[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];131 -> 146[label="",style="solid", color="black", weight=3]; 132[label="primEqInt (Neg (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];132 -> 147[label="",style="solid", color="black", weight=3]; 133[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];133 -> 148[label="",style="solid", color="black", weight=3]; 134[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1406[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];134 -> 1406[label="",style="solid", color="blue", weight=9]; 1406 -> 149[label="",style="solid", color="blue", weight=3]; 1407[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];134 -> 1407[label="",style="solid", color="blue", weight=9]; 1407 -> 150[label="",style="solid", color="blue", weight=3]; 135[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1408[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];135 -> 1408[label="",style="solid", color="blue", weight=9]; 1408 -> 151[label="",style="solid", color="blue", weight=3]; 1409[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];135 -> 1409[label="",style="solid", color="blue", weight=9]; 1409 -> 152[label="",style="solid", color="blue", weight=3]; 136[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1410[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];136 -> 1410[label="",style="solid", color="burlywood", weight=9]; 1410 -> 153[label="",style="solid", color="burlywood", weight=3]; 1411[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];136 -> 1411[label="",style="solid", color="burlywood", weight=9]; 1411 -> 154[label="",style="solid", color="burlywood", weight=3]; 137[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1412[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];137 -> 1412[label="",style="solid", color="burlywood", weight=9]; 1412 -> 155[label="",style="solid", color="burlywood", weight=3]; 1413[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];137 -> 1413[label="",style="solid", color="burlywood", weight=9]; 1413 -> 156[label="",style="solid", color="burlywood", weight=3]; 138[label="vuz410",fontsize=16,color="green",shape="box"];139[label="vuz310",fontsize=16,color="green",shape="box"];140[label="vuz410",fontsize=16,color="green",shape="box"];141[label="vuz310",fontsize=16,color="green",shape="box"];142[label="vuz310",fontsize=16,color="green",shape="box"];143[label="vuz410",fontsize=16,color="green",shape="box"];144[label="Integer vuz17 == Integer (Pos Zero)",fontsize=16,color="black",shape="triangle"];144 -> 157[label="",style="solid", color="black", weight=3]; 145[label="primEqInt (Pos (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];145 -> 158[label="",style="solid", color="black", weight=3]; 146[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];146 -> 159[label="",style="solid", color="black", weight=3]; 147[label="primEqInt (Neg (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];147 -> 160[label="",style="solid", color="black", weight=3]; 148[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];148 -> 161[label="",style="solid", color="black", weight=3]; 149 -> 162[label="",style="dashed", color="red", weight=0]; 149[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];149 -> 163[label="",style="dashed", color="magenta", weight=3]; 149 -> 164[label="",style="dashed", color="magenta", weight=3]; 149 -> 165[label="",style="dashed", color="magenta", weight=3]; 150 -> 169[label="",style="dashed", color="red", weight=0]; 150[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];150 -> 170[label="",style="dashed", color="magenta", weight=3]; 150 -> 171[label="",style="dashed", color="magenta", weight=3]; 151 -> 162[label="",style="dashed", color="red", weight=0]; 151[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];151 -> 166[label="",style="dashed", color="magenta", weight=3]; 151 -> 167[label="",style="dashed", color="magenta", weight=3]; 151 -> 168[label="",style="dashed", color="magenta", weight=3]; 152 -> 169[label="",style="dashed", color="red", weight=0]; 152[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];152 -> 172[label="",style="dashed", color="magenta", weight=3]; 152 -> 173[label="",style="dashed", color="magenta", weight=3]; 153[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];153 -> 174[label="",style="solid", color="black", weight=3]; 154[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];154 -> 175[label="",style="solid", color="black", weight=3]; 155[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];155 -> 176[label="",style="solid", color="black", weight=3]; 156[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];156 -> 177[label="",style="solid", color="black", weight=3]; 157[label="primEqInt vuz17 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1414[label="vuz17/Pos vuz170",fontsize=10,color="white",style="solid",shape="box"];157 -> 1414[label="",style="solid", color="burlywood", weight=9]; 1414 -> 178[label="",style="solid", color="burlywood", weight=3]; 1415[label="vuz17/Neg vuz170",fontsize=10,color="white",style="solid",shape="box"];157 -> 1415[label="",style="solid", color="burlywood", weight=9]; 1415 -> 179[label="",style="solid", color="burlywood", weight=3]; 158[label="False",fontsize=16,color="green",shape="box"];159[label="True",fontsize=16,color="green",shape="box"];160[label="False",fontsize=16,color="green",shape="box"];161[label="True",fontsize=16,color="green",shape="box"];163 -> 9[label="",style="dashed", color="red", weight=0]; 163[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];163 -> 180[label="",style="dashed", color="magenta", weight=3]; 163 -> 181[label="",style="dashed", color="magenta", weight=3]; 164 -> 39[label="",style="dashed", color="red", weight=0]; 164[label="vuz14 * vuz12",fontsize=16,color="magenta"];164 -> 182[label="",style="dashed", color="magenta", weight=3]; 164 -> 183[label="",style="dashed", color="magenta", weight=3]; 165 -> 9[label="",style="dashed", color="red", weight=0]; 165[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];165 -> 184[label="",style="dashed", color="magenta", weight=3]; 165 -> 185[label="",style="dashed", color="magenta", weight=3]; 162[label="vuz18 `quot` reduce2D vuz20 vuz19",fontsize=16,color="black",shape="triangle"];162 -> 186[label="",style="solid", color="black", weight=3]; 170 -> 8[label="",style="dashed", color="red", weight=0]; 170[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];170 -> 187[label="",style="dashed", color="magenta", weight=3]; 170 -> 188[label="",style="dashed", color="magenta", weight=3]; 171 -> 8[label="",style="dashed", color="red", weight=0]; 171[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];171 -> 189[label="",style="dashed", color="magenta", weight=3]; 171 -> 190[label="",style="dashed", color="magenta", weight=3]; 169[label="vuz25 `quot` reduce2D vuz26 (vuz14 * vuz12)",fontsize=16,color="burlywood",shape="triangle"];1416[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];169 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 191[label="",style="solid", color="burlywood", weight=3]; 166 -> 39[label="",style="dashed", color="red", weight=0]; 166[label="vuz14 * vuz12",fontsize=16,color="magenta"];166 -> 192[label="",style="dashed", color="magenta", weight=3]; 166 -> 193[label="",style="dashed", color="magenta", weight=3]; 167 -> 39[label="",style="dashed", color="red", weight=0]; 167[label="vuz14 * vuz12",fontsize=16,color="magenta"];167 -> 194[label="",style="dashed", color="magenta", weight=3]; 167 -> 195[label="",style="dashed", color="magenta", weight=3]; 168 -> 9[label="",style="dashed", color="red", weight=0]; 168[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];168 -> 196[label="",style="dashed", color="magenta", weight=3]; 168 -> 197[label="",style="dashed", color="magenta", weight=3]; 172[label="vuz14 * vuz12",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz14/Integer vuz140",fontsize=10,color="white",style="solid",shape="box"];172 -> 1417[label="",style="solid", color="burlywood", weight=9]; 1417 -> 198[label="",style="solid", color="burlywood", weight=3]; 173 -> 8[label="",style="dashed", color="red", weight=0]; 173[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];173 -> 199[label="",style="dashed", color="magenta", weight=3]; 173 -> 200[label="",style="dashed", color="magenta", weight=3]; 174 -> 44[label="",style="dashed", color="red", weight=0]; 174[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];174 -> 201[label="",style="dashed", color="magenta", weight=3]; 174 -> 202[label="",style="dashed", color="magenta", weight=3]; 175[label="Zero",fontsize=16,color="green",shape="box"];176[label="Zero",fontsize=16,color="green",shape="box"];177[label="Zero",fontsize=16,color="green",shape="box"];178[label="primEqInt (Pos vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1418[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];178 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 203[label="",style="solid", color="burlywood", weight=3]; 1419[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];178 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 204[label="",style="solid", color="burlywood", weight=3]; 179[label="primEqInt (Neg vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];179 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 205[label="",style="solid", color="burlywood", weight=3]; 1421[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];179 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 206[label="",style="solid", color="burlywood", weight=3]; 180 -> 39[label="",style="dashed", color="red", weight=0]; 180[label="vuz13 * vuz14",fontsize=16,color="magenta"];180 -> 207[label="",style="dashed", color="magenta", weight=3]; 180 -> 208[label="",style="dashed", color="magenta", weight=3]; 181 -> 39[label="",style="dashed", color="red", weight=0]; 181[label="vuz11 * vuz12",fontsize=16,color="magenta"];181 -> 209[label="",style="dashed", color="magenta", weight=3]; 181 -> 210[label="",style="dashed", color="magenta", weight=3]; 182[label="vuz14",fontsize=16,color="green",shape="box"];183[label="vuz12",fontsize=16,color="green",shape="box"];184 -> 39[label="",style="dashed", color="red", weight=0]; 184[label="vuz13 * vuz14",fontsize=16,color="magenta"];184 -> 211[label="",style="dashed", color="magenta", weight=3]; 184 -> 212[label="",style="dashed", color="magenta", weight=3]; 185 -> 39[label="",style="dashed", color="red", weight=0]; 185[label="vuz11 * vuz12",fontsize=16,color="magenta"];185 -> 213[label="",style="dashed", color="magenta", weight=3]; 185 -> 214[label="",style="dashed", color="magenta", weight=3]; 186[label="primQuotInt vuz18 (reduce2D vuz20 vuz19)",fontsize=16,color="burlywood",shape="box"];1422[label="vuz18/Pos vuz180",fontsize=10,color="white",style="solid",shape="box"];186 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 215[label="",style="solid", color="burlywood", weight=3]; 1423[label="vuz18/Neg vuz180",fontsize=10,color="white",style="solid",shape="box"];186 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 216[label="",style="solid", color="burlywood", weight=3]; 187 -> 172[label="",style="dashed", color="red", weight=0]; 187[label="vuz13 * vuz14",fontsize=16,color="magenta"];187 -> 217[label="",style="dashed", color="magenta", weight=3]; 187 -> 218[label="",style="dashed", color="magenta", weight=3]; 188 -> 172[label="",style="dashed", color="red", weight=0]; 188[label="vuz11 * vuz12",fontsize=16,color="magenta"];188 -> 219[label="",style="dashed", color="magenta", weight=3]; 189 -> 172[label="",style="dashed", color="red", weight=0]; 189[label="vuz13 * vuz14",fontsize=16,color="magenta"];189 -> 220[label="",style="dashed", color="magenta", weight=3]; 189 -> 221[label="",style="dashed", color="magenta", weight=3]; 190 -> 172[label="",style="dashed", color="red", weight=0]; 190[label="vuz11 * vuz12",fontsize=16,color="magenta"];190 -> 222[label="",style="dashed", color="magenta", weight=3]; 191[label="Integer vuz250 `quot` reduce2D vuz26 (vuz14 * vuz12)",fontsize=16,color="black",shape="box"];191 -> 223[label="",style="solid", color="black", weight=3]; 192[label="vuz14",fontsize=16,color="green",shape="box"];193[label="vuz12",fontsize=16,color="green",shape="box"];194[label="vuz14",fontsize=16,color="green",shape="box"];195[label="vuz12",fontsize=16,color="green",shape="box"];196 -> 39[label="",style="dashed", color="red", weight=0]; 196[label="vuz13 * vuz14",fontsize=16,color="magenta"];196 -> 224[label="",style="dashed", color="magenta", weight=3]; 196 -> 225[label="",style="dashed", color="magenta", weight=3]; 197 -> 39[label="",style="dashed", color="red", weight=0]; 197[label="vuz11 * vuz12",fontsize=16,color="magenta"];197 -> 226[label="",style="dashed", color="magenta", weight=3]; 197 -> 227[label="",style="dashed", color="magenta", weight=3]; 198[label="Integer vuz140 * vuz12",fontsize=16,color="burlywood",shape="box"];1424[label="vuz12/Integer vuz120",fontsize=10,color="white",style="solid",shape="box"];198 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 228[label="",style="solid", color="burlywood", weight=3]; 199 -> 172[label="",style="dashed", color="red", weight=0]; 199[label="vuz13 * vuz14",fontsize=16,color="magenta"];199 -> 229[label="",style="dashed", color="magenta", weight=3]; 199 -> 230[label="",style="dashed", color="magenta", weight=3]; 200 -> 172[label="",style="dashed", color="red", weight=0]; 200[label="vuz11 * vuz12",fontsize=16,color="magenta"];200 -> 231[label="",style="dashed", color="magenta", weight=3]; 201[label="Succ vuz4100",fontsize=16,color="green",shape="box"];202 -> 122[label="",style="dashed", color="red", weight=0]; 202[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];202 -> 232[label="",style="dashed", color="magenta", weight=3]; 202 -> 233[label="",style="dashed", color="magenta", weight=3]; 203[label="primEqInt (Pos (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];203 -> 234[label="",style="solid", color="black", weight=3]; 204[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];204 -> 235[label="",style="solid", color="black", weight=3]; 205[label="primEqInt (Neg (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];205 -> 236[label="",style="solid", color="black", weight=3]; 206[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];206 -> 237[label="",style="solid", color="black", weight=3]; 207[label="vuz13",fontsize=16,color="green",shape="box"];208[label="vuz14",fontsize=16,color="green",shape="box"];209[label="vuz11",fontsize=16,color="green",shape="box"];210[label="vuz12",fontsize=16,color="green",shape="box"];211[label="vuz13",fontsize=16,color="green",shape="box"];212[label="vuz14",fontsize=16,color="green",shape="box"];213[label="vuz11",fontsize=16,color="green",shape="box"];214[label="vuz12",fontsize=16,color="green",shape="box"];215[label="primQuotInt (Pos vuz180) (reduce2D vuz20 vuz19)",fontsize=16,color="black",shape="box"];215 -> 238[label="",style="solid", color="black", weight=3]; 216[label="primQuotInt (Neg vuz180) (reduce2D vuz20 vuz19)",fontsize=16,color="black",shape="box"];216 -> 239[label="",style="solid", color="black", weight=3]; 217[label="vuz14",fontsize=16,color="green",shape="box"];218[label="vuz13",fontsize=16,color="green",shape="box"];219[label="vuz11",fontsize=16,color="green",shape="box"];220[label="vuz14",fontsize=16,color="green",shape="box"];221[label="vuz13",fontsize=16,color="green",shape="box"];222[label="vuz11",fontsize=16,color="green",shape="box"];223 -> 240[label="",style="dashed", color="red", weight=0]; 223[label="Integer vuz250 `quot` gcd vuz26 (vuz14 * vuz12)",fontsize=16,color="magenta"];223 -> 241[label="",style="dashed", color="magenta", weight=3]; 224[label="vuz13",fontsize=16,color="green",shape="box"];225[label="vuz14",fontsize=16,color="green",shape="box"];226[label="vuz11",fontsize=16,color="green",shape="box"];227[label="vuz12",fontsize=16,color="green",shape="box"];228[label="Integer vuz140 * Integer vuz120",fontsize=16,color="black",shape="box"];228 -> 242[label="",style="solid", color="black", weight=3]; 229[label="vuz14",fontsize=16,color="green",shape="box"];230[label="vuz13",fontsize=16,color="green",shape="box"];231[label="vuz11",fontsize=16,color="green",shape="box"];232[label="Succ vuz4100",fontsize=16,color="green",shape="box"];233[label="vuz3100",fontsize=16,color="green",shape="box"];234[label="False",fontsize=16,color="green",shape="box"];235[label="True",fontsize=16,color="green",shape="box"];236[label="False",fontsize=16,color="green",shape="box"];237[label="True",fontsize=16,color="green",shape="box"];238 -> 327[label="",style="dashed", color="red", weight=0]; 238[label="primQuotInt (Pos vuz180) (gcd vuz20 vuz19)",fontsize=16,color="magenta"];238 -> 328[label="",style="dashed", color="magenta", weight=3]; 239 -> 355[label="",style="dashed", color="red", weight=0]; 239[label="primQuotInt (Neg vuz180) (gcd vuz20 vuz19)",fontsize=16,color="magenta"];239 -> 356[label="",style="dashed", color="magenta", weight=3]; 241 -> 172[label="",style="dashed", color="red", weight=0]; 241[label="vuz14 * vuz12",fontsize=16,color="magenta"];240[label="Integer vuz250 `quot` gcd vuz26 vuz27",fontsize=16,color="black",shape="triangle"];240 -> 245[label="",style="solid", color="black", weight=3]; 242[label="Integer (primMulInt vuz140 vuz120)",fontsize=16,color="green",shape="box"];242 -> 246[label="",style="dashed", color="green", weight=3]; 328[label="gcd vuz20 vuz19",fontsize=16,color="black",shape="triangle"];328 -> 344[label="",style="solid", color="black", weight=3]; 327[label="primQuotInt (Pos vuz180) vuz38",fontsize=16,color="burlywood",shape="triangle"];1425[label="vuz38/Pos vuz380",fontsize=10,color="white",style="solid",shape="box"];327 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 345[label="",style="solid", color="burlywood", weight=3]; 1426[label="vuz38/Neg vuz380",fontsize=10,color="white",style="solid",shape="box"];327 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 346[label="",style="solid", color="burlywood", weight=3]; 356 -> 328[label="",style="dashed", color="red", weight=0]; 356[label="gcd vuz20 vuz19",fontsize=16,color="magenta"];355[label="primQuotInt (Neg vuz180) vuz41",fontsize=16,color="burlywood",shape="triangle"];1427[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];355 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 372[label="",style="solid", color="burlywood", weight=3]; 1428[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];355 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 373[label="",style="solid", color="burlywood", weight=3]; 245[label="Integer vuz250 `quot` gcd3 vuz26 vuz27",fontsize=16,color="black",shape="box"];245 -> 249[label="",style="solid", color="black", weight=3]; 246 -> 58[label="",style="dashed", color="red", weight=0]; 246[label="primMulInt vuz140 vuz120",fontsize=16,color="magenta"];246 -> 250[label="",style="dashed", color="magenta", weight=3]; 246 -> 251[label="",style="dashed", color="magenta", weight=3]; 344[label="gcd3 vuz20 vuz19",fontsize=16,color="black",shape="box"];344 -> 350[label="",style="solid", color="black", weight=3]; 345[label="primQuotInt (Pos vuz180) (Pos vuz380)",fontsize=16,color="burlywood",shape="box"];1429[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];345 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 351[label="",style="solid", color="burlywood", weight=3]; 1430[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];345 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 352[label="",style="solid", color="burlywood", weight=3]; 346[label="primQuotInt (Pos vuz180) (Neg vuz380)",fontsize=16,color="burlywood",shape="box"];1431[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];346 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 353[label="",style="solid", color="burlywood", weight=3]; 1432[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];346 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 354[label="",style="solid", color="burlywood", weight=3]; 372[label="primQuotInt (Neg vuz180) (Pos vuz410)",fontsize=16,color="burlywood",shape="box"];1433[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];372 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 376[label="",style="solid", color="burlywood", weight=3]; 1434[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];372 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 377[label="",style="solid", color="burlywood", weight=3]; 373[label="primQuotInt (Neg vuz180) (Neg vuz410)",fontsize=16,color="burlywood",shape="box"];1435[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];373 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 378[label="",style="solid", color="burlywood", weight=3]; 1436[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];373 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 379[label="",style="solid", color="burlywood", weight=3]; 249[label="Integer vuz250 `quot` gcd2 (vuz26 == fromInt (Pos Zero)) vuz26 vuz27",fontsize=16,color="burlywood",shape="box"];1437[label="vuz26/Integer vuz260",fontsize=10,color="white",style="solid",shape="box"];249 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 256[label="",style="solid", color="burlywood", weight=3]; 250[label="vuz140",fontsize=16,color="green",shape="box"];251[label="vuz120",fontsize=16,color="green",shape="box"];350 -> 374[label="",style="dashed", color="red", weight=0]; 350[label="gcd2 (vuz20 == fromInt (Pos Zero)) vuz20 vuz19",fontsize=16,color="magenta"];350 -> 375[label="",style="dashed", color="magenta", weight=3]; 351[label="primQuotInt (Pos vuz180) (Pos (Succ vuz3800))",fontsize=16,color="black",shape="box"];351 -> 380[label="",style="solid", color="black", weight=3]; 352[label="primQuotInt (Pos vuz180) (Pos Zero)",fontsize=16,color="black",shape="box"];352 -> 381[label="",style="solid", color="black", weight=3]; 353[label="primQuotInt (Pos vuz180) (Neg (Succ vuz3800))",fontsize=16,color="black",shape="box"];353 -> 382[label="",style="solid", color="black", weight=3]; 354[label="primQuotInt (Pos vuz180) (Neg Zero)",fontsize=16,color="black",shape="box"];354 -> 383[label="",style="solid", color="black", weight=3]; 376[label="primQuotInt (Neg vuz180) (Pos (Succ vuz4100))",fontsize=16,color="black",shape="box"];376 -> 390[label="",style="solid", color="black", weight=3]; 377[label="primQuotInt (Neg vuz180) (Pos Zero)",fontsize=16,color="black",shape="box"];377 -> 391[label="",style="solid", color="black", weight=3]; 378[label="primQuotInt (Neg vuz180) (Neg (Succ vuz4100))",fontsize=16,color="black",shape="box"];378 -> 392[label="",style="solid", color="black", weight=3]; 379[label="primQuotInt (Neg vuz180) (Neg Zero)",fontsize=16,color="black",shape="box"];379 -> 393[label="",style="solid", color="black", weight=3]; 256[label="Integer vuz250 `quot` gcd2 (Integer vuz260 == fromInt (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];256 -> 263[label="",style="solid", color="black", weight=3]; 375 -> 93[label="",style="dashed", color="red", weight=0]; 375[label="vuz20 == fromInt (Pos Zero)",fontsize=16,color="magenta"];375 -> 384[label="",style="dashed", color="magenta", weight=3]; 374[label="gcd2 vuz42 vuz20 vuz19",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];374 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 385[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];374 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 386[label="",style="solid", color="burlywood", weight=3]; 380[label="Pos (primDivNatS vuz180 (Succ vuz3800))",fontsize=16,color="green",shape="box"];380 -> 394[label="",style="dashed", color="green", weight=3]; 381[label="error []",fontsize=16,color="black",shape="triangle"];381 -> 395[label="",style="solid", color="black", weight=3]; 382[label="Neg (primDivNatS vuz180 (Succ vuz3800))",fontsize=16,color="green",shape="box"];382 -> 396[label="",style="dashed", color="green", weight=3]; 383 -> 381[label="",style="dashed", color="red", weight=0]; 383[label="error []",fontsize=16,color="magenta"];390[label="Neg (primDivNatS vuz180 (Succ vuz4100))",fontsize=16,color="green",shape="box"];390 -> 402[label="",style="dashed", color="green", weight=3]; 391 -> 381[label="",style="dashed", color="red", weight=0]; 391[label="error []",fontsize=16,color="magenta"];392[label="Pos (primDivNatS vuz180 (Succ vuz4100))",fontsize=16,color="green",shape="box"];392 -> 403[label="",style="dashed", color="green", weight=3]; 393 -> 381[label="",style="dashed", color="red", weight=0]; 393[label="error []",fontsize=16,color="magenta"];263 -> 268[label="",style="dashed", color="red", weight=0]; 263[label="Integer vuz250 `quot` gcd2 (Integer vuz260 == Integer (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="magenta"];263 -> 269[label="",style="dashed", color="magenta", weight=3]; 384[label="vuz20",fontsize=16,color="green",shape="box"];385[label="gcd2 False vuz20 vuz19",fontsize=16,color="black",shape="box"];385 -> 397[label="",style="solid", color="black", weight=3]; 386[label="gcd2 True vuz20 vuz19",fontsize=16,color="black",shape="box"];386 -> 398[label="",style="solid", color="black", weight=3]; 394[label="primDivNatS vuz180 (Succ vuz3800)",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];394 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 404[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];394 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 405[label="",style="solid", color="burlywood", weight=3]; 395[label="error []",fontsize=16,color="red",shape="box"];396 -> 394[label="",style="dashed", color="red", weight=0]; 396[label="primDivNatS vuz180 (Succ vuz3800)",fontsize=16,color="magenta"];396 -> 406[label="",style="dashed", color="magenta", weight=3]; 402 -> 394[label="",style="dashed", color="red", weight=0]; 402[label="primDivNatS vuz180 (Succ vuz4100)",fontsize=16,color="magenta"];402 -> 410[label="",style="dashed", color="magenta", weight=3]; 402 -> 411[label="",style="dashed", color="magenta", weight=3]; 403 -> 394[label="",style="dashed", color="red", weight=0]; 403[label="primDivNatS vuz180 (Succ vuz4100)",fontsize=16,color="magenta"];403 -> 412[label="",style="dashed", color="magenta", weight=3]; 403 -> 413[label="",style="dashed", color="magenta", weight=3]; 269 -> 144[label="",style="dashed", color="red", weight=0]; 269[label="Integer vuz260 == Integer (Pos Zero)",fontsize=16,color="magenta"];269 -> 276[label="",style="dashed", color="magenta", weight=3]; 268[label="Integer vuz250 `quot` gcd2 vuz30 (Integer vuz260) vuz27",fontsize=16,color="burlywood",shape="triangle"];1442[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];268 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 277[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];268 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 278[label="",style="solid", color="burlywood", weight=3]; 397[label="gcd0 vuz20 vuz19",fontsize=16,color="black",shape="triangle"];397 -> 407[label="",style="solid", color="black", weight=3]; 398 -> 408[label="",style="dashed", color="red", weight=0]; 398[label="gcd1 (vuz19 == fromInt (Pos Zero)) vuz20 vuz19",fontsize=16,color="magenta"];398 -> 409[label="",style="dashed", color="magenta", weight=3]; 404[label="primDivNatS (Succ vuz1800) (Succ vuz3800)",fontsize=16,color="black",shape="box"];404 -> 414[label="",style="solid", color="black", weight=3]; 405[label="primDivNatS Zero (Succ vuz3800)",fontsize=16,color="black",shape="box"];405 -> 415[label="",style="solid", color="black", weight=3]; 406[label="vuz3800",fontsize=16,color="green",shape="box"];410[label="vuz4100",fontsize=16,color="green",shape="box"];411[label="vuz180",fontsize=16,color="green",shape="box"];412[label="vuz4100",fontsize=16,color="green",shape="box"];413[label="vuz180",fontsize=16,color="green",shape="box"];276[label="vuz260",fontsize=16,color="green",shape="box"];277[label="Integer vuz250 `quot` gcd2 False (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];277 -> 287[label="",style="solid", color="black", weight=3]; 278[label="Integer vuz250 `quot` gcd2 True (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];278 -> 288[label="",style="solid", color="black", weight=3]; 407[label="gcd0Gcd' (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];407 -> 416[label="",style="solid", color="black", weight=3]; 409 -> 93[label="",style="dashed", color="red", weight=0]; 409[label="vuz19 == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 417[label="",style="dashed", color="magenta", weight=3]; 408[label="gcd1 vuz43 vuz20 vuz19",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz43/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 418[label="",style="solid", color="burlywood", weight=3]; 1445[label="vuz43/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 419[label="",style="solid", color="burlywood", weight=3]; 414[label="primDivNatS0 vuz1800 vuz3800 (primGEqNatS vuz1800 vuz3800)",fontsize=16,color="burlywood",shape="box"];1446[label="vuz1800/Succ vuz18000",fontsize=10,color="white",style="solid",shape="box"];414 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 421[label="",style="solid", color="burlywood", weight=3]; 1447[label="vuz1800/Zero",fontsize=10,color="white",style="solid",shape="box"];414 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 422[label="",style="solid", color="burlywood", weight=3]; 415[label="Zero",fontsize=16,color="green",shape="box"];287[label="Integer vuz250 `quot` gcd0 (Integer vuz260) vuz27",fontsize=16,color="black",shape="triangle"];287 -> 295[label="",style="solid", color="black", weight=3]; 288[label="Integer vuz250 `quot` gcd1 (vuz27 == fromInt (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="burlywood",shape="box"];1448[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];288 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 296[label="",style="solid", color="burlywood", weight=3]; 416[label="gcd0Gcd'2 (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];416 -> 423[label="",style="solid", color="black", weight=3]; 417[label="vuz19",fontsize=16,color="green",shape="box"];418[label="gcd1 False vuz20 vuz19",fontsize=16,color="black",shape="box"];418 -> 424[label="",style="solid", color="black", weight=3]; 419[label="gcd1 True vuz20 vuz19",fontsize=16,color="black",shape="box"];419 -> 425[label="",style="solid", color="black", weight=3]; 421[label="primDivNatS0 (Succ vuz18000) vuz3800 (primGEqNatS (Succ vuz18000) vuz3800)",fontsize=16,color="burlywood",shape="box"];1449[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];421 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 427[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];421 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 428[label="",style="solid", color="burlywood", weight=3]; 422[label="primDivNatS0 Zero vuz3800 (primGEqNatS Zero vuz3800)",fontsize=16,color="burlywood",shape="box"];1451[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];422 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 429[label="",style="solid", color="burlywood", weight=3]; 1452[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];422 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 430[label="",style="solid", color="burlywood", weight=3]; 295[label="Integer vuz250 `quot` gcd0Gcd' (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];295 -> 303[label="",style="solid", color="black", weight=3]; 296[label="Integer vuz250 `quot` gcd1 (Integer vuz270 == fromInt (Pos Zero)) (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 423 -> 431[label="",style="dashed", color="red", weight=0]; 423[label="gcd0Gcd'1 (abs vuz19 == fromInt (Pos Zero)) (abs vuz20) (abs vuz19)",fontsize=16,color="magenta"];423 -> 432[label="",style="dashed", color="magenta", weight=3]; 424 -> 397[label="",style="dashed", color="red", weight=0]; 424[label="gcd0 vuz20 vuz19",fontsize=16,color="magenta"];425 -> 381[label="",style="dashed", color="red", weight=0]; 425[label="error []",fontsize=16,color="magenta"];427[label="primDivNatS0 (Succ vuz18000) (Succ vuz38000) (primGEqNatS (Succ vuz18000) (Succ vuz38000))",fontsize=16,color="black",shape="box"];427 -> 433[label="",style="solid", color="black", weight=3]; 428[label="primDivNatS0 (Succ vuz18000) Zero (primGEqNatS (Succ vuz18000) Zero)",fontsize=16,color="black",shape="box"];428 -> 434[label="",style="solid", color="black", weight=3]; 429[label="primDivNatS0 Zero (Succ vuz38000) (primGEqNatS Zero (Succ vuz38000))",fontsize=16,color="black",shape="box"];429 -> 435[label="",style="solid", color="black", weight=3]; 430[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];430 -> 436[label="",style="solid", color="black", weight=3]; 303[label="Integer vuz250 `quot` gcd0Gcd'2 (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];303 -> 311[label="",style="solid", color="black", weight=3]; 304 -> 312[label="",style="dashed", color="red", weight=0]; 304[label="Integer vuz250 `quot` gcd1 (Integer vuz270 == Integer (Pos Zero)) (Integer vuz260) (Integer vuz270)",fontsize=16,color="magenta"];304 -> 313[label="",style="dashed", color="magenta", weight=3]; 432 -> 93[label="",style="dashed", color="red", weight=0]; 432[label="abs vuz19 == fromInt (Pos Zero)",fontsize=16,color="magenta"];432 -> 437[label="",style="dashed", color="magenta", weight=3]; 431[label="gcd0Gcd'1 vuz44 (abs vuz20) (abs vuz19)",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz44/False",fontsize=10,color="white",style="solid",shape="box"];431 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 438[label="",style="solid", color="burlywood", weight=3]; 1454[label="vuz44/True",fontsize=10,color="white",style="solid",shape="box"];431 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 439[label="",style="solid", color="burlywood", weight=3]; 433 -> 904[label="",style="dashed", color="red", weight=0]; 433[label="primDivNatS0 (Succ vuz18000) (Succ vuz38000) (primGEqNatS vuz18000 vuz38000)",fontsize=16,color="magenta"];433 -> 905[label="",style="dashed", color="magenta", weight=3]; 433 -> 906[label="",style="dashed", color="magenta", weight=3]; 433 -> 907[label="",style="dashed", color="magenta", weight=3]; 433 -> 908[label="",style="dashed", color="magenta", weight=3]; 434[label="primDivNatS0 (Succ vuz18000) Zero True",fontsize=16,color="black",shape="box"];434 -> 443[label="",style="solid", color="black", weight=3]; 435[label="primDivNatS0 Zero (Succ vuz38000) False",fontsize=16,color="black",shape="box"];435 -> 444[label="",style="solid", color="black", weight=3]; 436[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];436 -> 445[label="",style="solid", color="black", weight=3]; 311[label="Integer vuz250 `quot` gcd0Gcd'1 (abs vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];311 -> 319[label="",style="solid", color="black", weight=3]; 313 -> 144[label="",style="dashed", color="red", weight=0]; 313[label="Integer vuz270 == Integer (Pos Zero)",fontsize=16,color="magenta"];313 -> 320[label="",style="dashed", color="magenta", weight=3]; 312[label="Integer vuz250 `quot` gcd1 vuz35 (Integer vuz260) (Integer vuz270)",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz35/False",fontsize=10,color="white",style="solid",shape="box"];312 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 321[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz35/True",fontsize=10,color="white",style="solid",shape="box"];312 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 322[label="",style="solid", color="burlywood", weight=3]; 437[label="abs vuz19",fontsize=16,color="black",shape="triangle"];437 -> 446[label="",style="solid", color="black", weight=3]; 438[label="gcd0Gcd'1 False (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];438 -> 447[label="",style="solid", color="black", weight=3]; 439[label="gcd0Gcd'1 True (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];439 -> 448[label="",style="solid", color="black", weight=3]; 905[label="vuz38000",fontsize=16,color="green",shape="box"];906[label="vuz18000",fontsize=16,color="green",shape="box"];907[label="vuz18000",fontsize=16,color="green",shape="box"];908[label="vuz38000",fontsize=16,color="green",shape="box"];904[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS vuz79 vuz80)",fontsize=16,color="burlywood",shape="triangle"];1457[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];904 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 945[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];904 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 946[label="",style="solid", color="burlywood", weight=3]; 443[label="Succ (primDivNatS (primMinusNatS (Succ vuz18000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];443 -> 454[label="",style="dashed", color="green", weight=3]; 444[label="Zero",fontsize=16,color="green",shape="box"];445[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];445 -> 455[label="",style="dashed", color="green", weight=3]; 319[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal vuz27)",fontsize=16,color="black",shape="box"];319 -> 387[label="",style="solid", color="black", weight=3]; 320[label="vuz270",fontsize=16,color="green",shape="box"];321[label="Integer vuz250 `quot` gcd1 False (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];321 -> 388[label="",style="solid", color="black", weight=3]; 322[label="Integer vuz250 `quot` gcd1 True (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];322 -> 389[label="",style="solid", color="black", weight=3]; 446[label="absReal vuz19",fontsize=16,color="black",shape="box"];446 -> 456[label="",style="solid", color="black", weight=3]; 447 -> 457[label="",style="dashed", color="red", weight=0]; 447[label="gcd0Gcd'0 (abs vuz20) (abs vuz19)",fontsize=16,color="magenta"];447 -> 458[label="",style="dashed", color="magenta", weight=3]; 447 -> 459[label="",style="dashed", color="magenta", weight=3]; 448 -> 437[label="",style="dashed", color="red", weight=0]; 448[label="abs vuz20",fontsize=16,color="magenta"];448 -> 460[label="",style="dashed", color="magenta", weight=3]; 945[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) vuz80)",fontsize=16,color="burlywood",shape="box"];1459[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];945 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 960[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];945 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 961[label="",style="solid", color="burlywood", weight=3]; 946[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero vuz80)",fontsize=16,color="burlywood",shape="box"];1461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];946 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 962[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];946 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 963[label="",style="solid", color="burlywood", weight=3]; 454 -> 394[label="",style="dashed", color="red", weight=0]; 454[label="primDivNatS (primMinusNatS (Succ vuz18000) Zero) (Succ Zero)",fontsize=16,color="magenta"];454 -> 465[label="",style="dashed", color="magenta", weight=3]; 454 -> 466[label="",style="dashed", color="magenta", weight=3]; 455 -> 394[label="",style="dashed", color="red", weight=0]; 455[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];455 -> 467[label="",style="dashed", color="magenta", weight=3]; 455 -> 468[label="",style="dashed", color="magenta", weight=3]; 387[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal2 vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal2 vuz27)",fontsize=16,color="black",shape="box"];387 -> 399[label="",style="solid", color="black", weight=3]; 388 -> 287[label="",style="dashed", color="red", weight=0]; 388[label="Integer vuz250 `quot` gcd0 (Integer vuz260) (Integer vuz270)",fontsize=16,color="magenta"];388 -> 400[label="",style="dashed", color="magenta", weight=3]; 389[label="Integer vuz250 `quot` error []",fontsize=16,color="black",shape="box"];389 -> 401[label="",style="solid", color="black", weight=3]; 456[label="absReal2 vuz19",fontsize=16,color="black",shape="box"];456 -> 469[label="",style="solid", color="black", weight=3]; 458 -> 437[label="",style="dashed", color="red", weight=0]; 458[label="abs vuz20",fontsize=16,color="magenta"];458 -> 470[label="",style="dashed", color="magenta", weight=3]; 459 -> 437[label="",style="dashed", color="red", weight=0]; 459[label="abs vuz19",fontsize=16,color="magenta"];457[label="gcd0Gcd'0 vuz46 vuz45",fontsize=16,color="black",shape="triangle"];457 -> 471[label="",style="solid", color="black", weight=3]; 460[label="vuz20",fontsize=16,color="green",shape="box"];960[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) (Succ vuz800))",fontsize=16,color="black",shape="box"];960 -> 975[label="",style="solid", color="black", weight=3]; 961[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) Zero)",fontsize=16,color="black",shape="box"];961 -> 976[label="",style="solid", color="black", weight=3]; 962[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero (Succ vuz800))",fontsize=16,color="black",shape="box"];962 -> 977[label="",style="solid", color="black", weight=3]; 963[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];963 -> 978[label="",style="solid", color="black", weight=3]; 465[label="Zero",fontsize=16,color="green",shape="box"];466[label="primMinusNatS (Succ vuz18000) Zero",fontsize=16,color="black",shape="triangle"];466 -> 478[label="",style="solid", color="black", weight=3]; 467[label="Zero",fontsize=16,color="green",shape="box"];468[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];468 -> 479[label="",style="solid", color="black", weight=3]; 399[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];399 -> 420[label="",style="solid", color="black", weight=3]; 400[label="Integer vuz270",fontsize=16,color="green",shape="box"];401[label="error []",fontsize=16,color="red",shape="box"];469[label="absReal1 vuz19 (vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];469 -> 480[label="",style="solid", color="black", weight=3]; 470[label="vuz20",fontsize=16,color="green",shape="box"];471[label="gcd0Gcd' vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];471 -> 481[label="",style="solid", color="black", weight=3]; 975 -> 904[label="",style="dashed", color="red", weight=0]; 975[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS vuz790 vuz800)",fontsize=16,color="magenta"];975 -> 991[label="",style="dashed", color="magenta", weight=3]; 975 -> 992[label="",style="dashed", color="magenta", weight=3]; 976[label="primDivNatS0 (Succ vuz77) (Succ vuz78) True",fontsize=16,color="black",shape="triangle"];976 -> 993[label="",style="solid", color="black", weight=3]; 977[label="primDivNatS0 (Succ vuz77) (Succ vuz78) False",fontsize=16,color="black",shape="box"];977 -> 994[label="",style="solid", color="black", weight=3]; 978 -> 976[label="",style="dashed", color="red", weight=0]; 978[label="primDivNatS0 (Succ vuz77) (Succ vuz78) True",fontsize=16,color="magenta"];478[label="Succ vuz18000",fontsize=16,color="green",shape="box"];479[label="Zero",fontsize=16,color="green",shape="box"];420[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];420 -> 426[label="",style="solid", color="black", weight=3]; 480[label="absReal1 vuz19 (compare vuz19 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];480 -> 490[label="",style="solid", color="black", weight=3]; 481[label="gcd0Gcd'2 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];481 -> 491[label="",style="solid", color="black", weight=3]; 991[label="vuz800",fontsize=16,color="green",shape="box"];992[label="vuz790",fontsize=16,color="green",shape="box"];993[label="Succ (primDivNatS (primMinusNatS (Succ vuz77) (Succ vuz78)) (Succ (Succ vuz78)))",fontsize=16,color="green",shape="box"];993 -> 1011[label="",style="dashed", color="green", weight=3]; 994[label="Zero",fontsize=16,color="green",shape="box"];426[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];426 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 440[label="",style="solid", color="burlywood", weight=3]; 490[label="absReal1 vuz19 (not (compare vuz19 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];490 -> 504[label="",style="solid", color="black", weight=3]; 491 -> 505[label="",style="dashed", color="red", weight=0]; 491[label="gcd0Gcd'1 (vuz46 `rem` vuz45 == fromInt (Pos Zero)) vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];491 -> 506[label="",style="dashed", color="magenta", weight=3]; 1011 -> 394[label="",style="dashed", color="red", weight=0]; 1011[label="primDivNatS (primMinusNatS (Succ vuz77) (Succ vuz78)) (Succ (Succ vuz78))",fontsize=16,color="magenta"];1011 -> 1026[label="",style="dashed", color="magenta", weight=3]; 1011 -> 1027[label="",style="dashed", color="magenta", weight=3]; 440[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];440 -> 449[label="",style="solid", color="black", weight=3]; 504[label="absReal1 vuz19 (not (primCmpInt vuz19 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1464[label="vuz19/Pos vuz190",fontsize=10,color="white",style="solid",shape="box"];504 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 514[label="",style="solid", color="burlywood", weight=3]; 1465[label="vuz19/Neg vuz190",fontsize=10,color="white",style="solid",shape="box"];504 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 515[label="",style="solid", color="burlywood", weight=3]; 506 -> 93[label="",style="dashed", color="red", weight=0]; 506[label="vuz46 `rem` vuz45 == fromInt (Pos Zero)",fontsize=16,color="magenta"];506 -> 516[label="",style="dashed", color="magenta", weight=3]; 505[label="gcd0Gcd'1 vuz47 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="burlywood",shape="triangle"];1466[label="vuz47/False",fontsize=10,color="white",style="solid",shape="box"];505 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 517[label="",style="solid", color="burlywood", weight=3]; 1467[label="vuz47/True",fontsize=10,color="white",style="solid",shape="box"];505 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 518[label="",style="solid", color="burlywood", weight=3]; 1026[label="Succ vuz78",fontsize=16,color="green",shape="box"];1027[label="primMinusNatS (Succ vuz77) (Succ vuz78)",fontsize=16,color="black",shape="box"];1027 -> 1042[label="",style="solid", color="black", weight=3]; 449[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];449 -> 472[label="",style="solid", color="black", weight=3]; 514[label="absReal1 (Pos vuz190) (not (primCmpInt (Pos vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];514 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 530[label="",style="solid", color="burlywood", weight=3]; 1469[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];514 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 531[label="",style="solid", color="burlywood", weight=3]; 515[label="absReal1 (Neg vuz190) (not (primCmpInt (Neg vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1470[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];515 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 532[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];515 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 533[label="",style="solid", color="burlywood", weight=3]; 516[label="vuz46 `rem` vuz45",fontsize=16,color="black",shape="triangle"];516 -> 534[label="",style="solid", color="black", weight=3]; 517[label="gcd0Gcd'1 False vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];517 -> 535[label="",style="solid", color="black", weight=3]; 518[label="gcd0Gcd'1 True vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];518 -> 536[label="",style="solid", color="black", weight=3]; 1042[label="primMinusNatS vuz77 vuz78",fontsize=16,color="burlywood",shape="triangle"];1472[label="vuz77/Succ vuz770",fontsize=10,color="white",style="solid",shape="box"];1042 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 1059[label="",style="solid", color="burlywood", weight=3]; 1473[label="vuz77/Zero",fontsize=10,color="white",style="solid",shape="box"];1042 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1060[label="",style="solid", color="burlywood", weight=3]; 472[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1474[label="vuz270/Pos vuz2700",fontsize=10,color="white",style="solid",shape="box"];472 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 482[label="",style="solid", color="burlywood", weight=3]; 1475[label="vuz270/Neg vuz2700",fontsize=10,color="white",style="solid",shape="box"];472 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 483[label="",style="solid", color="burlywood", weight=3]; 530[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpInt (Pos (Succ vuz1900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];530 -> 549[label="",style="solid", color="black", weight=3]; 531[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];531 -> 550[label="",style="solid", color="black", weight=3]; 532[label="absReal1 (Neg (Succ vuz1900)) (not (primCmpInt (Neg (Succ vuz1900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];532 -> 551[label="",style="solid", color="black", weight=3]; 533[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];533 -> 552[label="",style="solid", color="black", weight=3]; 534[label="primRemInt vuz46 vuz45",fontsize=16,color="burlywood",shape="triangle"];1476[label="vuz46/Pos vuz460",fontsize=10,color="white",style="solid",shape="box"];534 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 553[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz46/Neg vuz460",fontsize=10,color="white",style="solid",shape="box"];534 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 554[label="",style="solid", color="burlywood", weight=3]; 535 -> 457[label="",style="dashed", color="red", weight=0]; 535[label="gcd0Gcd'0 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];535 -> 555[label="",style="dashed", color="magenta", weight=3]; 535 -> 556[label="",style="dashed", color="magenta", weight=3]; 536[label="vuz45",fontsize=16,color="green",shape="box"];1059[label="primMinusNatS (Succ vuz770) vuz78",fontsize=16,color="burlywood",shape="box"];1478[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 1079[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1080[label="",style="solid", color="burlywood", weight=3]; 1060[label="primMinusNatS Zero vuz78",fontsize=16,color="burlywood",shape="box"];1480[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 1081[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 1082[label="",style="solid", color="burlywood", weight=3]; 482[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1482[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];482 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 492[label="",style="solid", color="burlywood", weight=3]; 1483[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];482 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 493[label="",style="solid", color="burlywood", weight=3]; 483[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1484[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];483 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 494[label="",style="solid", color="burlywood", weight=3]; 1485[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];483 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 495[label="",style="solid", color="burlywood", weight=3]; 549[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpInt (Pos (Succ vuz1900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];549 -> 568[label="",style="solid", color="black", weight=3]; 550[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];550 -> 569[label="",style="solid", color="black", weight=3]; 551[label="absReal1 (Neg (Succ vuz1900)) (not (primCmpInt (Neg (Succ vuz1900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];551 -> 570[label="",style="solid", color="black", weight=3]; 552[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];552 -> 571[label="",style="solid", color="black", weight=3]; 553[label="primRemInt (Pos vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1486[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];553 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 572[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];553 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 573[label="",style="solid", color="burlywood", weight=3]; 554[label="primRemInt (Neg vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1488[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];554 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 574[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];554 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 575[label="",style="solid", color="burlywood", weight=3]; 555[label="vuz45",fontsize=16,color="green",shape="box"];556 -> 516[label="",style="dashed", color="red", weight=0]; 556[label="vuz46 `rem` vuz45",fontsize=16,color="magenta"];1079[label="primMinusNatS (Succ vuz770) (Succ vuz780)",fontsize=16,color="black",shape="box"];1079 -> 1096[label="",style="solid", color="black", weight=3]; 1080[label="primMinusNatS (Succ vuz770) Zero",fontsize=16,color="black",shape="box"];1080 -> 1097[label="",style="solid", color="black", weight=3]; 1081[label="primMinusNatS Zero (Succ vuz780)",fontsize=16,color="black",shape="box"];1081 -> 1098[label="",style="solid", color="black", weight=3]; 1082[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1082 -> 1099[label="",style="solid", color="black", weight=3]; 492[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];492 -> 519[label="",style="solid", color="black", weight=3]; 493[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];493 -> 520[label="",style="solid", color="black", weight=3]; 494[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];494 -> 521[label="",style="solid", color="black", weight=3]; 495[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];495 -> 522[label="",style="solid", color="black", weight=3]; 568[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpNat (Succ vuz1900) Zero == LT))",fontsize=16,color="black",shape="box"];568 -> 587[label="",style="solid", color="black", weight=3]; 569[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];569 -> 588[label="",style="solid", color="black", weight=3]; 570[label="absReal1 (Neg (Succ vuz1900)) (not (LT == LT))",fontsize=16,color="black",shape="box"];570 -> 589[label="",style="solid", color="black", weight=3]; 571[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];571 -> 590[label="",style="solid", color="black", weight=3]; 572[label="primRemInt (Pos vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1490[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];572 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 591[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];572 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 592[label="",style="solid", color="burlywood", weight=3]; 573[label="primRemInt (Pos vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1492[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];573 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 593[label="",style="solid", color="burlywood", weight=3]; 1493[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];573 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 594[label="",style="solid", color="burlywood", weight=3]; 574[label="primRemInt (Neg vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1494[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];574 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 595[label="",style="solid", color="burlywood", weight=3]; 1495[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];574 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 596[label="",style="solid", color="burlywood", weight=3]; 575[label="primRemInt (Neg vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];575 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 597[label="",style="solid", color="burlywood", weight=3]; 1497[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];575 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 598[label="",style="solid", color="burlywood", weight=3]; 1096 -> 1042[label="",style="dashed", color="red", weight=0]; 1096[label="primMinusNatS vuz770 vuz780",fontsize=16,color="magenta"];1096 -> 1106[label="",style="dashed", color="magenta", weight=3]; 1096 -> 1107[label="",style="dashed", color="magenta", weight=3]; 1097[label="Succ vuz770",fontsize=16,color="green",shape="box"];1098[label="Zero",fontsize=16,color="green",shape="box"];1099[label="Zero",fontsize=16,color="green",shape="box"];519[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)))",fontsize=16,color="black",shape="box"];519 -> 537[label="",style="solid", color="black", weight=3]; 520[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 521[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];521 -> 539[label="",style="solid", color="black", weight=3]; 522[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];522 -> 540[label="",style="solid", color="black", weight=3]; 587[label="absReal1 (Pos (Succ vuz1900)) (not (GT == LT))",fontsize=16,color="black",shape="box"];587 -> 610[label="",style="solid", color="black", weight=3]; 588[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];588 -> 611[label="",style="solid", color="black", weight=3]; 589[label="absReal1 (Neg (Succ vuz1900)) (not True)",fontsize=16,color="black",shape="box"];589 -> 612[label="",style="solid", color="black", weight=3]; 590[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];590 -> 613[label="",style="solid", color="black", weight=3]; 591[label="primRemInt (Pos vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];591 -> 614[label="",style="solid", color="black", weight=3]; 592[label="primRemInt (Pos vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];592 -> 615[label="",style="solid", color="black", weight=3]; 593[label="primRemInt (Pos vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];593 -> 616[label="",style="solid", color="black", weight=3]; 594[label="primRemInt (Pos vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];594 -> 617[label="",style="solid", color="black", weight=3]; 595[label="primRemInt (Neg vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];595 -> 618[label="",style="solid", color="black", weight=3]; 596[label="primRemInt (Neg vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];596 -> 619[label="",style="solid", color="black", weight=3]; 597[label="primRemInt (Neg vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];597 -> 620[label="",style="solid", color="black", weight=3]; 598[label="primRemInt (Neg vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];598 -> 621[label="",style="solid", color="black", weight=3]; 1106[label="vuz770",fontsize=16,color="green",shape="box"];1107[label="vuz780",fontsize=16,color="green",shape="box"];537[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];537 -> 557[label="",style="solid", color="black", weight=3]; 538[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];538 -> 558[label="",style="solid", color="black", weight=3]; 539[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not True) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not True))",fontsize=16,color="black",shape="box"];539 -> 559[label="",style="solid", color="black", weight=3]; 540[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];540 -> 560[label="",style="solid", color="black", weight=3]; 610[label="absReal1 (Pos (Succ vuz1900)) (not False)",fontsize=16,color="black",shape="box"];610 -> 632[label="",style="solid", color="black", weight=3]; 611[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];611 -> 633[label="",style="solid", color="black", weight=3]; 612[label="absReal1 (Neg (Succ vuz1900)) False",fontsize=16,color="black",shape="box"];612 -> 634[label="",style="solid", color="black", weight=3]; 613[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];613 -> 635[label="",style="solid", color="black", weight=3]; 614[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];614 -> 636[label="",style="dashed", color="green", weight=3]; 615 -> 381[label="",style="dashed", color="red", weight=0]; 615[label="error []",fontsize=16,color="magenta"];616[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];616 -> 637[label="",style="dashed", color="green", weight=3]; 617 -> 381[label="",style="dashed", color="red", weight=0]; 617[label="error []",fontsize=16,color="magenta"];618[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];618 -> 638[label="",style="dashed", color="green", weight=3]; 619 -> 381[label="",style="dashed", color="red", weight=0]; 619[label="error []",fontsize=16,color="magenta"];620[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];620 -> 639[label="",style="dashed", color="green", weight=3]; 621 -> 381[label="",style="dashed", color="red", weight=0]; 621[label="error []",fontsize=16,color="magenta"];557[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not False))",fontsize=16,color="black",shape="box"];557 -> 576[label="",style="solid", color="black", weight=3]; 558[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];558 -> 577[label="",style="solid", color="black", weight=3]; 559[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) False == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) False)",fontsize=16,color="black",shape="box"];559 -> 578[label="",style="solid", color="black", weight=3]; 560[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];560 -> 579[label="",style="solid", color="black", weight=3]; 632[label="absReal1 (Pos (Succ vuz1900)) True",fontsize=16,color="black",shape="box"];632 -> 649[label="",style="solid", color="black", weight=3]; 633[label="Pos Zero",fontsize=16,color="green",shape="box"];634[label="absReal0 (Neg (Succ vuz1900)) otherwise",fontsize=16,color="black",shape="box"];634 -> 650[label="",style="solid", color="black", weight=3]; 635[label="Neg Zero",fontsize=16,color="green",shape="box"];636[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="burlywood",shape="triangle"];1498[label="vuz460/Succ vuz4600",fontsize=10,color="white",style="solid",shape="box"];636 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 651[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz460/Zero",fontsize=10,color="white",style="solid",shape="box"];636 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 652[label="",style="solid", color="burlywood", weight=3]; 637 -> 636[label="",style="dashed", color="red", weight=0]; 637[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];637 -> 653[label="",style="dashed", color="magenta", weight=3]; 638 -> 636[label="",style="dashed", color="red", weight=0]; 638[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];638 -> 654[label="",style="dashed", color="magenta", weight=3]; 639 -> 636[label="",style="dashed", color="red", weight=0]; 639[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];639 -> 655[label="",style="dashed", color="magenta", weight=3]; 639 -> 656[label="",style="dashed", color="magenta", weight=3]; 576[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];576 -> 599[label="",style="solid", color="black", weight=3]; 577 -> 723[label="",style="dashed", color="red", weight=0]; 577[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos Zero) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Pos Zero))",fontsize=16,color="magenta"];577 -> 724[label="",style="dashed", color="magenta", weight=3]; 577 -> 725[label="",style="dashed", color="magenta", weight=3]; 578[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) otherwise == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal0 (Integer (Neg (Succ vuz27000))) otherwise)",fontsize=16,color="black",shape="box"];578 -> 622[label="",style="solid", color="black", weight=3]; 579 -> 723[label="",style="dashed", color="red", weight=0]; 579[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Neg Zero) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Neg Zero))",fontsize=16,color="magenta"];579 -> 726[label="",style="dashed", color="magenta", weight=3]; 579 -> 727[label="",style="dashed", color="magenta", weight=3]; 649[label="Pos (Succ vuz1900)",fontsize=16,color="green",shape="box"];650[label="absReal0 (Neg (Succ vuz1900)) True",fontsize=16,color="black",shape="box"];650 -> 675[label="",style="solid", color="black", weight=3]; 651[label="primModNatS (Succ vuz4600) (Succ vuz4500)",fontsize=16,color="black",shape="box"];651 -> 676[label="",style="solid", color="black", weight=3]; 652[label="primModNatS Zero (Succ vuz4500)",fontsize=16,color="black",shape="box"];652 -> 677[label="",style="solid", color="black", weight=3]; 653[label="vuz4500",fontsize=16,color="green",shape="box"];654[label="vuz460",fontsize=16,color="green",shape="box"];655[label="vuz4500",fontsize=16,color="green",shape="box"];656[label="vuz460",fontsize=16,color="green",shape="box"];599 -> 723[label="",style="dashed", color="red", weight=0]; 599[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];599 -> 728[label="",style="dashed", color="magenta", weight=3]; 599 -> 729[label="",style="dashed", color="magenta", weight=3]; 724 -> 128[label="",style="dashed", color="red", weight=0]; 724[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];724 -> 739[label="",style="dashed", color="magenta", weight=3]; 725[label="Pos Zero",fontsize=16,color="green",shape="box"];723[label="Integer vuz250 `quot` gcd0Gcd'1 vuz55 (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="burlywood",shape="triangle"];1500[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];723 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 740[label="",style="solid", color="burlywood", weight=3]; 1501[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];723 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 741[label="",style="solid", color="burlywood", weight=3]; 622[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal0 (Integer (Neg (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];622 -> 660[label="",style="solid", color="black", weight=3]; 726 -> 128[label="",style="dashed", color="red", weight=0]; 726[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];726 -> 742[label="",style="dashed", color="magenta", weight=3]; 727[label="Neg Zero",fontsize=16,color="green",shape="box"];675[label="`negate` Neg (Succ vuz1900)",fontsize=16,color="black",shape="box"];675 -> 694[label="",style="solid", color="black", weight=3]; 676[label="primModNatS0 vuz4600 vuz4500 (primGEqNatS vuz4600 vuz4500)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz4600/Succ vuz46000",fontsize=10,color="white",style="solid",shape="box"];676 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 695[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz4600/Zero",fontsize=10,color="white",style="solid",shape="box"];676 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 696[label="",style="solid", color="burlywood", weight=3]; 677[label="Zero",fontsize=16,color="green",shape="box"];728 -> 128[label="",style="dashed", color="red", weight=0]; 728[label="Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];728 -> 743[label="",style="dashed", color="magenta", weight=3]; 729[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];739[label="Pos Zero",fontsize=16,color="green",shape="box"];740[label="Integer vuz250 `quot` gcd0Gcd'1 False (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];740 -> 753[label="",style="solid", color="black", weight=3]; 741[label="Integer vuz250 `quot` gcd0Gcd'1 True (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];741 -> 754[label="",style="solid", color="black", weight=3]; 660[label="Integer vuz250 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (`negate` Integer (Neg (Succ vuz27000)))",fontsize=16,color="black",shape="box"];660 -> 680[label="",style="solid", color="black", weight=3]; 742[label="Neg Zero",fontsize=16,color="green",shape="box"];694[label="primNegInt (Neg (Succ vuz1900))",fontsize=16,color="black",shape="triangle"];694 -> 708[label="",style="solid", color="black", weight=3]; 695[label="primModNatS0 (Succ vuz46000) vuz4500 (primGEqNatS (Succ vuz46000) vuz4500)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];695 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 709[label="",style="solid", color="burlywood", weight=3]; 1505[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];695 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 710[label="",style="solid", color="burlywood", weight=3]; 696[label="primModNatS0 Zero vuz4500 (primGEqNatS Zero vuz4500)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];696 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 711[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];696 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 712[label="",style="solid", color="burlywood", weight=3]; 743[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];753[label="Integer vuz250 `quot` gcd0Gcd'0 (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];753 -> 757[label="",style="solid", color="black", weight=3]; 754[label="Integer vuz250 `quot` abs (Integer vuz260)",fontsize=16,color="black",shape="box"];754 -> 758[label="",style="solid", color="black", weight=3]; 680 -> 723[label="",style="dashed", color="red", weight=0]; 680[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];680 -> 736[label="",style="dashed", color="magenta", weight=3]; 680 -> 737[label="",style="dashed", color="magenta", weight=3]; 708[label="Pos (Succ vuz1900)",fontsize=16,color="green",shape="box"];709[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS (Succ vuz46000) (Succ vuz45000))",fontsize=16,color="black",shape="box"];709 -> 744[label="",style="solid", color="black", weight=3]; 710[label="primModNatS0 (Succ vuz46000) Zero (primGEqNatS (Succ vuz46000) Zero)",fontsize=16,color="black",shape="box"];710 -> 745[label="",style="solid", color="black", weight=3]; 711[label="primModNatS0 Zero (Succ vuz45000) (primGEqNatS Zero (Succ vuz45000))",fontsize=16,color="black",shape="box"];711 -> 746[label="",style="solid", color="black", weight=3]; 712[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];712 -> 747[label="",style="solid", color="black", weight=3]; 757[label="Integer vuz250 `quot` gcd0Gcd' (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];757 -> 774[label="",style="solid", color="black", weight=3]; 758[label="Integer vuz250 `quot` absReal (Integer vuz260)",fontsize=16,color="black",shape="box"];758 -> 775[label="",style="solid", color="black", weight=3]; 736 -> 128[label="",style="dashed", color="red", weight=0]; 736[label="Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];736 -> 761[label="",style="dashed", color="magenta", weight=3]; 737 -> 694[label="",style="dashed", color="red", weight=0]; 737[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];737 -> 762[label="",style="dashed", color="magenta", weight=3]; 744 -> 1296[label="",style="dashed", color="red", weight=0]; 744[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS vuz46000 vuz45000)",fontsize=16,color="magenta"];744 -> 1297[label="",style="dashed", color="magenta", weight=3]; 744 -> 1298[label="",style="dashed", color="magenta", weight=3]; 744 -> 1299[label="",style="dashed", color="magenta", weight=3]; 744 -> 1300[label="",style="dashed", color="magenta", weight=3]; 745[label="primModNatS0 (Succ vuz46000) Zero True",fontsize=16,color="black",shape="box"];745 -> 765[label="",style="solid", color="black", weight=3]; 746[label="primModNatS0 Zero (Succ vuz45000) False",fontsize=16,color="black",shape="box"];746 -> 766[label="",style="solid", color="black", weight=3]; 747[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];747 -> 767[label="",style="solid", color="black", weight=3]; 774[label="Integer vuz250 `quot` gcd0Gcd'2 (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];774 -> 791[label="",style="solid", color="black", weight=3]; 775[label="Integer vuz250 `quot` absReal2 (Integer vuz260)",fontsize=16,color="black",shape="box"];775 -> 792[label="",style="solid", color="black", weight=3]; 761 -> 694[label="",style="dashed", color="red", weight=0]; 761[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];761 -> 777[label="",style="dashed", color="magenta", weight=3]; 762[label="vuz27000",fontsize=16,color="green",shape="box"];1297[label="vuz45000",fontsize=16,color="green",shape="box"];1298[label="vuz46000",fontsize=16,color="green",shape="box"];1299[label="vuz46000",fontsize=16,color="green",shape="box"];1300[label="vuz45000",fontsize=16,color="green",shape="box"];1296[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS vuz109 vuz110)",fontsize=16,color="burlywood",shape="triangle"];1508[label="vuz109/Succ vuz1090",fontsize=10,color="white",style="solid",shape="box"];1296 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 1337[label="",style="solid", color="burlywood", weight=3]; 1509[label="vuz109/Zero",fontsize=10,color="white",style="solid",shape="box"];1296 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 1338[label="",style="solid", color="burlywood", weight=3]; 765 -> 636[label="",style="dashed", color="red", weight=0]; 765[label="primModNatS (primMinusNatS (Succ vuz46000) Zero) (Succ Zero)",fontsize=16,color="magenta"];765 -> 782[label="",style="dashed", color="magenta", weight=3]; 765 -> 783[label="",style="dashed", color="magenta", weight=3]; 766[label="Succ Zero",fontsize=16,color="green",shape="box"];767 -> 636[label="",style="dashed", color="red", weight=0]; 767[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];767 -> 784[label="",style="dashed", color="magenta", weight=3]; 767 -> 785[label="",style="dashed", color="magenta", weight=3]; 791[label="Integer vuz250 `quot` gcd0Gcd'1 (abs (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];791 -> 804[label="",style="solid", color="black", weight=3]; 792[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];792 -> 805[label="",style="solid", color="black", weight=3]; 777[label="vuz27000",fontsize=16,color="green",shape="box"];1337[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) vuz110)",fontsize=16,color="burlywood",shape="box"];1510[label="vuz110/Succ vuz1100",fontsize=10,color="white",style="solid",shape="box"];1337 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 1339[label="",style="solid", color="burlywood", weight=3]; 1511[label="vuz110/Zero",fontsize=10,color="white",style="solid",shape="box"];1337 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 1340[label="",style="solid", color="burlywood", weight=3]; 1338[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero vuz110)",fontsize=16,color="burlywood",shape="box"];1512[label="vuz110/Succ vuz1100",fontsize=10,color="white",style="solid",shape="box"];1338 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 1341[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz110/Zero",fontsize=10,color="white",style="solid",shape="box"];1338 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 1342[label="",style="solid", color="burlywood", weight=3]; 782[label="Zero",fontsize=16,color="green",shape="box"];783 -> 466[label="",style="dashed", color="red", weight=0]; 783[label="primMinusNatS (Succ vuz46000) Zero",fontsize=16,color="magenta"];783 -> 799[label="",style="dashed", color="magenta", weight=3]; 784[label="Zero",fontsize=16,color="green",shape="box"];785 -> 468[label="",style="dashed", color="red", weight=0]; 785[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];804[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];804 -> 818[label="",style="solid", color="black", weight=3]; 805[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];805 -> 819[label="",style="solid", color="black", weight=3]; 1339[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) (Succ vuz1100))",fontsize=16,color="black",shape="box"];1339 -> 1343[label="",style="solid", color="black", weight=3]; 1340[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) Zero)",fontsize=16,color="black",shape="box"];1340 -> 1344[label="",style="solid", color="black", weight=3]; 1341[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero (Succ vuz1100))",fontsize=16,color="black",shape="box"];1341 -> 1345[label="",style="solid", color="black", weight=3]; 1342[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1342 -> 1346[label="",style="solid", color="black", weight=3]; 799[label="vuz46000",fontsize=16,color="green",shape="box"];818[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal2 (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal2 (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];818 -> 866[label="",style="solid", color="black", weight=3]; 819[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];819 -> 867[label="",style="solid", color="black", weight=3]; 1343 -> 1296[label="",style="dashed", color="red", weight=0]; 1343[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS vuz1090 vuz1100)",fontsize=16,color="magenta"];1343 -> 1347[label="",style="dashed", color="magenta", weight=3]; 1343 -> 1348[label="",style="dashed", color="magenta", weight=3]; 1344[label="primModNatS0 (Succ vuz107) (Succ vuz108) True",fontsize=16,color="black",shape="triangle"];1344 -> 1349[label="",style="solid", color="black", weight=3]; 1345[label="primModNatS0 (Succ vuz107) (Succ vuz108) False",fontsize=16,color="black",shape="box"];1345 -> 1350[label="",style="solid", color="black", weight=3]; 1346 -> 1344[label="",style="dashed", color="red", weight=0]; 1346[label="primModNatS0 (Succ vuz107) (Succ vuz108) True",fontsize=16,color="magenta"];866[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];866 -> 881[label="",style="solid", color="black", weight=3]; 867[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];867 -> 882[label="",style="solid", color="black", weight=3]; 1347[label="vuz1090",fontsize=16,color="green",shape="box"];1348[label="vuz1100",fontsize=16,color="green",shape="box"];1349 -> 636[label="",style="dashed", color="red", weight=0]; 1349[label="primModNatS (primMinusNatS (Succ vuz107) (Succ vuz108)) (Succ (Succ vuz108))",fontsize=16,color="magenta"];1349 -> 1351[label="",style="dashed", color="magenta", weight=3]; 1349 -> 1352[label="",style="dashed", color="magenta", weight=3]; 1350[label="Succ (Succ vuz107)",fontsize=16,color="green",shape="box"];881[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];881 -> 895[label="",style="solid", color="black", weight=3]; 882[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1514[label="vuz260/Pos vuz2600",fontsize=10,color="white",style="solid",shape="box"];882 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 896[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz260/Neg vuz2600",fontsize=10,color="white",style="solid",shape="box"];882 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 897[label="",style="solid", color="burlywood", weight=3]; 1351[label="Succ vuz108",fontsize=16,color="green",shape="box"];1352 -> 1042[label="",style="dashed", color="red", weight=0]; 1352[label="primMinusNatS (Succ vuz107) (Succ vuz108)",fontsize=16,color="magenta"];1352 -> 1353[label="",style="dashed", color="magenta", weight=3]; 1352 -> 1354[label="",style="dashed", color="magenta", weight=3]; 895[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];895 -> 947[label="",style="solid", color="black", weight=3]; 896[label="Integer vuz250 `quot` absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1516[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];896 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 948[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 949[label="",style="solid", color="burlywood", weight=3]; 897[label="Integer vuz250 `quot` absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1518[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];897 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 950[label="",style="solid", color="burlywood", weight=3]; 1519[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];897 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 951[label="",style="solid", color="burlywood", weight=3]; 1353[label="Succ vuz107",fontsize=16,color="green",shape="box"];1354[label="Succ vuz108",fontsize=16,color="green",shape="box"];947[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];947 -> 964[label="",style="solid", color="black", weight=3]; 948[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];948 -> 965[label="",style="solid", color="black", weight=3]; 949[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];949 -> 966[label="",style="solid", color="black", weight=3]; 950[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];950 -> 967[label="",style="solid", color="black", weight=3]; 951[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];951 -> 968[label="",style="solid", color="black", weight=3]; 964[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1520[label="vuz260/Pos vuz2600",fontsize=10,color="white",style="solid",shape="box"];964 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 979[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz260/Neg vuz2600",fontsize=10,color="white",style="solid",shape="box"];964 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 980[label="",style="solid", color="burlywood", weight=3]; 965[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT))",fontsize=16,color="black",shape="box"];965 -> 981[label="",style="solid", color="black", weight=3]; 966[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];966 -> 982[label="",style="solid", color="black", weight=3]; 967[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];967 -> 983[label="",style="solid", color="black", weight=3]; 968[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];968 -> 984[label="",style="solid", color="black", weight=3]; 979[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1522[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];979 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 995[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];979 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 996[label="",style="solid", color="burlywood", weight=3]; 980[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1524[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];980 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 997[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];980 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 998[label="",style="solid", color="burlywood", weight=3]; 981[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];981 -> 999[label="",style="solid", color="black", weight=3]; 982[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];982 -> 1000[label="",style="solid", color="black", weight=3]; 983[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not True)",fontsize=16,color="black",shape="box"];983 -> 1001[label="",style="solid", color="black", weight=3]; 984[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];984 -> 1002[label="",style="solid", color="black", weight=3]; 995[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];995 -> 1012[label="",style="solid", color="black", weight=3]; 996[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];996 -> 1013[label="",style="solid", color="black", weight=3]; 997[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];997 -> 1014[label="",style="solid", color="black", weight=3]; 998[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];998 -> 1015[label="",style="solid", color="black", weight=3]; 999[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not False)",fontsize=16,color="black",shape="box"];999 -> 1016[label="",style="solid", color="black", weight=3]; 1000[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1000 -> 1017[label="",style="solid", color="black", weight=3]; 1001[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) False",fontsize=16,color="black",shape="box"];1001 -> 1018[label="",style="solid", color="black", weight=3]; 1002[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1002 -> 1019[label="",style="solid", color="black", weight=3]; 1012[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1012 -> 1028[label="",style="solid", color="black", weight=3]; 1013[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1013 -> 1029[label="",style="solid", color="black", weight=3]; 1014[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1014 -> 1030[label="",style="solid", color="black", weight=3]; 1015[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1015 -> 1031[label="",style="solid", color="black", weight=3]; 1016[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) True",fontsize=16,color="black",shape="box"];1016 -> 1032[label="",style="solid", color="black", weight=3]; 1017 -> 1091[label="",style="dashed", color="red", weight=0]; 1017[label="Integer vuz250 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];1017 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1018[label="Integer vuz250 `quot` absReal0 (Integer (Neg (Succ vuz26000))) otherwise",fontsize=16,color="black",shape="box"];1018 -> 1034[label="",style="solid", color="black", weight=3]; 1019 -> 1091[label="",style="dashed", color="red", weight=0]; 1019[label="Integer vuz250 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];1019 -> 1093[label="",style="dashed", color="magenta", weight=3]; 1028[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1028 -> 1043[label="",style="solid", color="black", weight=3]; 1029[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1029 -> 1044[label="",style="solid", color="black", weight=3]; 1030[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not True) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not True) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1030 -> 1045[label="",style="solid", color="black", weight=3]; 1031[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1031 -> 1046[label="",style="solid", color="black", weight=3]; 1032 -> 1091[label="",style="dashed", color="red", weight=0]; 1032[label="Integer vuz250 `quot` Integer (Pos (Succ vuz26000))",fontsize=16,color="magenta"];1032 -> 1094[label="",style="dashed", color="magenta", weight=3]; 1092[label="Pos Zero",fontsize=16,color="green",shape="box"];1091[label="Integer vuz250 `quot` Integer vuz81",fontsize=16,color="black",shape="triangle"];1091 -> 1100[label="",style="solid", color="black", weight=3]; 1034[label="Integer vuz250 `quot` absReal0 (Integer (Neg (Succ vuz26000))) True",fontsize=16,color="black",shape="box"];1034 -> 1049[label="",style="solid", color="black", weight=3]; 1093[label="Neg Zero",fontsize=16,color="green",shape="box"];1043[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1043 -> 1061[label="",style="solid", color="black", weight=3]; 1044[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1044 -> 1062[label="",style="solid", color="black", weight=3]; 1045[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) False `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) False `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1045 -> 1063[label="",style="solid", color="black", weight=3]; 1046[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1046 -> 1064[label="",style="solid", color="black", weight=3]; 1094[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1100[label="Integer (primQuotInt vuz250 vuz81)",fontsize=16,color="green",shape="box"];1100 -> 1108[label="",style="dashed", color="green", weight=3]; 1049[label="Integer vuz250 `quot` (`negate` Integer (Neg (Succ vuz26000)))",fontsize=16,color="black",shape="box"];1049 -> 1068[label="",style="solid", color="black", weight=3]; 1061[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1061 -> 1083[label="",style="solid", color="black", weight=3]; 1062 -> 1167[label="",style="dashed", color="red", weight=0]; 1062[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Pos Zero) `rem` Integer vuz56)",fontsize=16,color="magenta"];1062 -> 1168[label="",style="dashed", color="magenta", weight=3]; 1062 -> 1169[label="",style="dashed", color="magenta", weight=3]; 1063[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz26000))) otherwise `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal0 (Integer (Neg (Succ vuz26000))) otherwise `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1063 -> 1085[label="",style="solid", color="black", weight=3]; 1064 -> 1167[label="",style="dashed", color="red", weight=0]; 1064[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Neg Zero) `rem` Integer vuz56)",fontsize=16,color="magenta"];1064 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1171[label="",style="dashed", color="magenta", weight=3]; 1108[label="primQuotInt vuz250 vuz81",fontsize=16,color="burlywood",shape="box"];1526[label="vuz250/Pos vuz2500",fontsize=10,color="white",style="solid",shape="box"];1108 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 1111[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz250/Neg vuz2500",fontsize=10,color="white",style="solid",shape="box"];1108 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 1112[label="",style="solid", color="burlywood", weight=3]; 1068 -> 1091[label="",style="dashed", color="red", weight=0]; 1068[label="Integer vuz250 `quot` Integer (primNegInt (Neg (Succ vuz26000)))",fontsize=16,color="magenta"];1068 -> 1095[label="",style="dashed", color="magenta", weight=3]; 1083 -> 1167[label="",style="dashed", color="red", weight=0]; 1083[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz26000)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Pos (Succ vuz26000)) `rem` Integer vuz56)",fontsize=16,color="magenta"];1083 -> 1172[label="",style="dashed", color="magenta", weight=3]; 1083 -> 1173[label="",style="dashed", color="magenta", weight=3]; 1168[label="Pos Zero",fontsize=16,color="green",shape="box"];1169[label="Pos Zero",fontsize=16,color="green",shape="box"];1167[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer vuz90 `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer vuz89 `rem` Integer vuz56)",fontsize=16,color="black",shape="triangle"];1167 -> 1176[label="",style="solid", color="black", weight=3]; 1085[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz26000))) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal0 (Integer (Neg (Succ vuz26000))) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1085 -> 1121[label="",style="solid", color="black", weight=3]; 1170[label="Neg Zero",fontsize=16,color="green",shape="box"];1171[label="Neg Zero",fontsize=16,color="green",shape="box"];1111[label="primQuotInt (Pos vuz2500) vuz81",fontsize=16,color="burlywood",shape="box"];1528[label="vuz81/Pos vuz810",fontsize=10,color="white",style="solid",shape="box"];1111 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 1122[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz81/Neg vuz810",fontsize=10,color="white",style="solid",shape="box"];1111 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 1123[label="",style="solid", color="burlywood", weight=3]; 1112[label="primQuotInt (Neg vuz2500) vuz81",fontsize=16,color="burlywood",shape="box"];1530[label="vuz81/Pos vuz810",fontsize=10,color="white",style="solid",shape="box"];1112 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 1124[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz81/Neg vuz810",fontsize=10,color="white",style="solid",shape="box"];1112 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 1125[label="",style="solid", color="burlywood", weight=3]; 1095 -> 694[label="",style="dashed", color="red", weight=0]; 1095[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1095 -> 1126[label="",style="dashed", color="magenta", weight=3]; 1172[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1173[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1176 -> 1190[label="",style="dashed", color="red", weight=0]; 1176[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primRemInt vuz90 vuz56) == fromInt (Pos Zero)) (Integer vuz56) (Integer (primRemInt vuz90 vuz56))",fontsize=16,color="magenta"];1176 -> 1191[label="",style="dashed", color="magenta", weight=3]; 1176 -> 1192[label="",style="dashed", color="magenta", weight=3]; 1121[label="Integer vuz250 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz26000))) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) ((`negate` Integer (Neg (Succ vuz26000))) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1121 -> 1144[label="",style="solid", color="black", weight=3]; 1122[label="primQuotInt (Pos vuz2500) (Pos vuz810)",fontsize=16,color="burlywood",shape="box"];1532[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1122 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 1145[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1122 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 1146[label="",style="solid", color="burlywood", weight=3]; 1123[label="primQuotInt (Pos vuz2500) (Neg vuz810)",fontsize=16,color="burlywood",shape="box"];1534[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1123 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 1147[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1123 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 1148[label="",style="solid", color="burlywood", weight=3]; 1124[label="primQuotInt (Neg vuz2500) (Pos vuz810)",fontsize=16,color="burlywood",shape="box"];1536[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1124 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1149[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1124 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1150[label="",style="solid", color="burlywood", weight=3]; 1125[label="primQuotInt (Neg vuz2500) (Neg vuz810)",fontsize=16,color="burlywood",shape="box"];1538[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1125 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1151[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1125 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1126[label="vuz26000",fontsize=16,color="green",shape="box"];1191 -> 128[label="",style="dashed", color="red", weight=0]; 1191[label="Integer (primRemInt vuz90 vuz56) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1191 -> 1193[label="",style="dashed", color="magenta", weight=3]; 1192 -> 534[label="",style="dashed", color="red", weight=0]; 1192[label="primRemInt vuz90 vuz56",fontsize=16,color="magenta"];1192 -> 1194[label="",style="dashed", color="magenta", weight=3]; 1192 -> 1195[label="",style="dashed", color="magenta", weight=3]; 1190[label="Integer vuz250 `quot` gcd0Gcd'1 vuz93 (Integer vuz56) (Integer vuz94)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz93/False",fontsize=10,color="white",style="solid",shape="box"];1190 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz93/True",fontsize=10,color="white",style="solid",shape="box"];1190 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1197[label="",style="solid", color="burlywood", weight=3]; 1144 -> 1167[label="",style="dashed", color="red", weight=0]; 1144[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz26000))) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (primNegInt (Neg (Succ vuz26000))) `rem` Integer vuz56)",fontsize=16,color="magenta"];1144 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1144 -> 1175[label="",style="dashed", color="magenta", weight=3]; 1145[label="primQuotInt (Pos vuz2500) (Pos (Succ vuz8100))",fontsize=16,color="black",shape="box"];1145 -> 1177[label="",style="solid", color="black", weight=3]; 1146[label="primQuotInt (Pos vuz2500) (Pos Zero)",fontsize=16,color="black",shape="box"];1146 -> 1178[label="",style="solid", color="black", weight=3]; 1147[label="primQuotInt (Pos vuz2500) (Neg (Succ vuz8100))",fontsize=16,color="black",shape="box"];1147 -> 1179[label="",style="solid", color="black", weight=3]; 1148[label="primQuotInt (Pos vuz2500) (Neg Zero)",fontsize=16,color="black",shape="box"];1148 -> 1180[label="",style="solid", color="black", weight=3]; 1149[label="primQuotInt (Neg vuz2500) (Pos (Succ vuz8100))",fontsize=16,color="black",shape="box"];1149 -> 1181[label="",style="solid", color="black", weight=3]; 1150[label="primQuotInt (Neg vuz2500) (Pos Zero)",fontsize=16,color="black",shape="box"];1150 -> 1182[label="",style="solid", color="black", weight=3]; 1151[label="primQuotInt (Neg vuz2500) (Neg (Succ vuz8100))",fontsize=16,color="black",shape="box"];1151 -> 1183[label="",style="solid", color="black", weight=3]; 1152[label="primQuotInt (Neg vuz2500) (Neg Zero)",fontsize=16,color="black",shape="box"];1152 -> 1184[label="",style="solid", color="black", weight=3]; 1193 -> 534[label="",style="dashed", color="red", weight=0]; 1193[label="primRemInt vuz90 vuz56",fontsize=16,color="magenta"];1193 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1193 -> 1242[label="",style="dashed", color="magenta", weight=3]; 1194[label="vuz90",fontsize=16,color="green",shape="box"];1195[label="vuz56",fontsize=16,color="green",shape="box"];1196[label="Integer vuz250 `quot` gcd0Gcd'1 False (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1196 -> 1243[label="",style="solid", color="black", weight=3]; 1197[label="Integer vuz250 `quot` gcd0Gcd'1 True (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1197 -> 1244[label="",style="solid", color="black", weight=3]; 1174 -> 694[label="",style="dashed", color="red", weight=0]; 1174[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1174 -> 1201[label="",style="dashed", color="magenta", weight=3]; 1175 -> 694[label="",style="dashed", color="red", weight=0]; 1175[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1175 -> 1202[label="",style="dashed", color="magenta", weight=3]; 1177[label="Pos (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1177 -> 1203[label="",style="dashed", color="green", weight=3]; 1178 -> 381[label="",style="dashed", color="red", weight=0]; 1178[label="error []",fontsize=16,color="magenta"];1179[label="Neg (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1179 -> 1204[label="",style="dashed", color="green", weight=3]; 1180 -> 381[label="",style="dashed", color="red", weight=0]; 1180[label="error []",fontsize=16,color="magenta"];1181[label="Neg (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1181 -> 1205[label="",style="dashed", color="green", weight=3]; 1182 -> 381[label="",style="dashed", color="red", weight=0]; 1182[label="error []",fontsize=16,color="magenta"];1183[label="Pos (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1183 -> 1206[label="",style="dashed", color="green", weight=3]; 1184 -> 381[label="",style="dashed", color="red", weight=0]; 1184[label="error []",fontsize=16,color="magenta"];1241[label="vuz90",fontsize=16,color="green",shape="box"];1242[label="vuz56",fontsize=16,color="green",shape="box"];1243[label="Integer vuz250 `quot` gcd0Gcd'0 (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1243 -> 1259[label="",style="solid", color="black", weight=3]; 1244 -> 1091[label="",style="dashed", color="red", weight=0]; 1244[label="Integer vuz250 `quot` Integer vuz56",fontsize=16,color="magenta"];1244 -> 1260[label="",style="dashed", color="magenta", weight=3]; 1201[label="vuz26000",fontsize=16,color="green",shape="box"];1202[label="vuz26000",fontsize=16,color="green",shape="box"];1203 -> 394[label="",style="dashed", color="red", weight=0]; 1203[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1203 -> 1245[label="",style="dashed", color="magenta", weight=3]; 1203 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1204 -> 394[label="",style="dashed", color="red", weight=0]; 1204[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1204 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1204 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1205 -> 394[label="",style="dashed", color="red", weight=0]; 1205[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1205 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1250[label="",style="dashed", color="magenta", weight=3]; 1206 -> 394[label="",style="dashed", color="red", weight=0]; 1206[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1206 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1259[label="Integer vuz250 `quot` gcd0Gcd' (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="vuz56",fontsize=16,color="green",shape="box"];1245[label="vuz8100",fontsize=16,color="green",shape="box"];1246[label="vuz2500",fontsize=16,color="green",shape="box"];1247[label="vuz8100",fontsize=16,color="green",shape="box"];1248[label="vuz2500",fontsize=16,color="green",shape="box"];1249[label="vuz8100",fontsize=16,color="green",shape="box"];1250[label="vuz2500",fontsize=16,color="green",shape="box"];1251[label="vuz8100",fontsize=16,color="green",shape="box"];1252[label="vuz2500",fontsize=16,color="green",shape="box"];1270[label="Integer vuz250 `quot` gcd0Gcd'2 (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1270 -> 1278[label="",style="solid", color="black", weight=3]; 1278 -> 1167[label="",style="dashed", color="red", weight=0]; 1278[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer vuz56 `rem` Integer vuz94 == fromInt (Pos Zero)) (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="magenta"];1278 -> 1283[label="",style="dashed", color="magenta", weight=3]; 1278 -> 1284[label="",style="dashed", color="magenta", weight=3]; 1278 -> 1285[label="",style="dashed", color="magenta", weight=3]; 1283[label="vuz56",fontsize=16,color="green",shape="box"];1284[label="vuz56",fontsize=16,color="green",shape="box"];1285[label="vuz94",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS0(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS0(vuz107, vuz108, Zero, Zero) -> new_primModNatS00(vuz107, vuz108) new_primModNatS00(vuz107, vuz108) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (15) Complex Obligation (AND) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS0(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS0(vuz107, vuz108, Zero, Zero) -> new_primModNatS00(vuz107, vuz108) new_primModNatS00(vuz107, vuz108) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS(x_1, x_2)) = x_1 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS0(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS0(vuz107, vuz108, Zero, Zero) -> new_primModNatS00(vuz107, vuz108) new_primModNatS00(vuz107, vuz108) -> new_primModNatS(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS0(vuz107, vuz108, vuz1090, vuz1100) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primModNatS0(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS0(vuz107, vuz108, vuz1090, vuz1100) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 ---------------------------------------- (25) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (27) YES ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs0(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs0(vuz17) -> new_esEs1(vuz17) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_esEs1(Pos(Zero)) -> True new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_error -> error([]) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs0(x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs0(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) at position [1] we obtained the following new rules [LPAR04]: (new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)),new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56))) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs0(vuz17) -> new_esEs1(vuz17) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_esEs1(Pos(Zero)) -> True new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_error -> error([]) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs0(x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs0(x0) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs0(x0) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_quot(vuz250, vuz90, vuz56, vuz89) -> new_quot0(vuz250, new_esEs1(new_primRemInt(vuz90, vuz56)), vuz56, new_primRemInt(vuz90, vuz56)) we obtained the following new rules [LPAR04]: (new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)),new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2))) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (39) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) the following chains were created: *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x4), new_quot(x6, x7, x8, x7) -> new_quot0(x6, new_esEs1(new_primRemInt(x7, x8)), x8, new_primRemInt(x7, x8)) which results in the following constraint: (1) (new_quot(x3, x4, x5, x4)=new_quot(x6, x7, x8, x7) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x4)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x4)) For Pair new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) the following chains were created: *We consider the chain new_quot(x9, x10, x11, x10) -> new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11)), new_quot0(x12, False, x13, x14) -> new_quot(x12, x13, x14, x13) which results in the following constraint: (1) (new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))=new_quot0(x12, False, x13, x14) ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_primRemInt(x10, x11)=x18 & new_esEs1(x18)=False ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x18)=False which results in the following new constraints: (3) (False=False & new_primRemInt(x10, x11)=Pos(Succ(x19)) ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) (4) (False=False & new_primRemInt(x10, x11)=Neg(Succ(x20)) ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primRemInt(x10, x11)=Pos(Succ(x19)) ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (6) (new_primRemInt(x10, x11)=Neg(Succ(x20)) ==> new_quot(x9, x10, x11, x10)_>=_new_quot0(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Pos(Succ(x19)) which results in the following new constraints: (7) (Pos(new_primModNatS1(x22, x21))=Pos(Succ(x19)) ==> new_quot(x9, Pos(x22), Neg(Succ(x21)), Pos(x22))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x22), Neg(Succ(x21)))), Neg(Succ(x21)), new_primRemInt(Pos(x22), Neg(Succ(x21))))) (8) (Pos(new_primModNatS1(x24, x23))=Pos(Succ(x19)) ==> new_quot(x9, Pos(x24), Pos(Succ(x23)), Pos(x24))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x24), Pos(Succ(x23)))), Pos(Succ(x23)), new_primRemInt(Pos(x24), Pos(Succ(x23))))) (9) (new_error=Pos(Succ(x19)) ==> new_quot(x9, Neg(x25), Neg(Zero), Neg(x25))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x25), Neg(Zero))), Neg(Zero), new_primRemInt(Neg(x25), Neg(Zero)))) (10) (new_error=Pos(Succ(x19)) ==> new_quot(x9, Pos(x28), Pos(Zero), Pos(x28))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x28), Pos(Zero))), Pos(Zero), new_primRemInt(Pos(x28), Pos(Zero)))) (11) (new_error=Pos(Succ(x19)) ==> new_quot(x9, Pos(x31), Neg(Zero), Pos(x31))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x31), Neg(Zero))), Neg(Zero), new_primRemInt(Pos(x31), Neg(Zero)))) (12) (new_error=Pos(Succ(x19)) ==> new_quot(x9, Neg(x32), Pos(Zero), Neg(x32))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x32), Pos(Zero))), Pos(Zero), new_primRemInt(Neg(x32), Pos(Zero)))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (13) (new_primModNatS1(x22, x21)=Succ(x19) ==> new_quot(x9, Pos(x22), Neg(Succ(x21)), Pos(x22))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x22), Neg(Succ(x21)))), Neg(Succ(x21)), new_primRemInt(Pos(x22), Neg(Succ(x21))))) We simplified constraint (8) using rules (I), (II) which results in the following new constraint: (14) (new_primModNatS1(x24, x23)=Succ(x19) ==> new_quot(x9, Pos(x24), Pos(Succ(x23)), Pos(x24))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x24), Pos(Succ(x23)))), Pos(Succ(x23)), new_primRemInt(Pos(x24), Pos(Succ(x23))))) We solved constraint (9) using rule (V) (with possible (I) afterwards).We solved constraint (10) using rule (V) (with possible (I) afterwards).We solved constraint (11) using rule (V) (with possible (I) afterwards).We solved constraint (12) using rule (V) (with possible (I) afterwards).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x21)=Succ(x19) which results in the following new constraints: (15) (Succ(Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) (17) (new_primModNatS1(new_primMinusNatS0(x35), Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) (18) (new_primModNatS02(x37, x36, x37, x36)=Succ(x19) ==> new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36))), Pos(Succ(Succ(x37))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36))))), Neg(Succ(Succ(x36))), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36)))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (21) (new_quot(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_quot(x9, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))), Neg(Succ(Succ(x43))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x24, x23)=Succ(x19) which results in the following new constraints: (23) (Succ(Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) (25) (new_primModNatS1(new_primMinusNatS0(x46), Zero)=Succ(x19) ==> new_quot(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) (26) (new_primModNatS02(x48, x47, x48, x47)=Succ(x19) ==> new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))), Pos(Succ(Succ(x47))), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47)))))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (27) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_quot(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_quot(x9, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))))), Pos(Succ(Succ(x54))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54)))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Neg(Succ(x20)) which results in the following new constraints: (31) (new_error=Neg(Succ(x20)) ==> new_quot(x9, Neg(x59), Neg(Zero), Neg(x59))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x59), Neg(Zero))), Neg(Zero), new_primRemInt(Neg(x59), Neg(Zero)))) (32) (Neg(new_primModNatS1(x61, x60))=Neg(Succ(x20)) ==> new_quot(x9, Neg(x61), Pos(Succ(x60)), Neg(x61))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x61), Pos(Succ(x60)))), Pos(Succ(x60)), new_primRemInt(Neg(x61), Pos(Succ(x60))))) (33) (new_error=Neg(Succ(x20)) ==> new_quot(x9, Pos(x62), Pos(Zero), Pos(x62))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x62), Pos(Zero))), Pos(Zero), new_primRemInt(Pos(x62), Pos(Zero)))) (34) (Neg(new_primModNatS1(x64, x63))=Neg(Succ(x20)) ==> new_quot(x9, Neg(x64), Neg(Succ(x63)), Neg(x64))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), new_primRemInt(Neg(x64), Neg(Succ(x63))))) (35) (new_error=Neg(Succ(x20)) ==> new_quot(x9, Pos(x65), Neg(Zero), Pos(x65))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(x65), Neg(Zero))), Neg(Zero), new_primRemInt(Pos(x65), Neg(Zero)))) (36) (new_error=Neg(Succ(x20)) ==> new_quot(x9, Neg(x66), Pos(Zero), Neg(x66))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x66), Pos(Zero))), Pos(Zero), new_primRemInt(Neg(x66), Pos(Zero)))) We solved constraint (31) using rule (V) (with possible (I) afterwards).We simplified constraint (32) using rules (I), (II) which results in the following new constraint: (37) (new_primModNatS1(x61, x60)=Succ(x20) ==> new_quot(x9, Neg(x61), Pos(Succ(x60)), Neg(x61))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x61), Pos(Succ(x60)))), Pos(Succ(x60)), new_primRemInt(Neg(x61), Pos(Succ(x60))))) We solved constraint (33) using rule (V) (with possible (I) afterwards).We simplified constraint (34) using rules (I), (II) which results in the following new constraint: (38) (new_primModNatS1(x64, x63)=Succ(x20) ==> new_quot(x9, Neg(x64), Neg(Succ(x63)), Neg(x64))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), new_primRemInt(Neg(x64), Neg(Succ(x63))))) We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x61, x60)=Succ(x20) which results in the following new constraints: (39) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) (41) (new_primModNatS1(new_primMinusNatS0(x69), Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) (42) (new_primModNatS02(x71, x70, x71, x70)=Succ(x20) ==> new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70))), Neg(Succ(Succ(x71))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70))))), Pos(Succ(Succ(x70))), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70)))))) We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: (43) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: (44) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: (45) (new_quot(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: (46) (new_quot(x9, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))), Neg(Succ(Succ(x76))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))))), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77)))))) We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x64, x63)=Succ(x20) which results in the following new constraints: (47) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) (49) (new_primModNatS1(new_primMinusNatS0(x80), Zero)=Succ(x20) ==> new_quot(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) (50) (new_primModNatS02(x82, x81, x82, x81)=Succ(x20) ==> new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))), Neg(Succ(Succ(x81))), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81)))))) We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: (51) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: (52) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: (53) (new_quot(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: (54) (new_quot(x9, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))), Neg(Succ(Succ(x88))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88)))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) *(new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x4)) *new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))), Neg(Succ(Succ(x43))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))))) *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) *(new_quot(x9, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))))), Pos(Succ(Succ(x54))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54)))))) *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))), Neg(Succ(Succ(x76))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))))), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77)))))) *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) *(new_quot(x9, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_quot0(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))), Neg(Succ(Succ(x88))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(z0, z1, z2, z1) -> new_quot0(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1))))) (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1))))) (new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) (new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1))))) (new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1))))) (new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) (new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_esEs1(Neg(Zero)) -> True new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_esEs1(Neg(Succ(vuz1700))) -> False new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) ---------------------------------------- (48) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (49) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) ---------------------------------------- (52) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (53) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_error -> error([]) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot0(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (74) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (75) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (77) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot0(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (79) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (80) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False new_error -> error([]) new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (81) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (88) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (90) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (91) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (92) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (93) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (94) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (95) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (140) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (141) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (144) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (145) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (146) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (147) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (148) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (149) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (150) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (151) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) (new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) ---------------------------------------- (152) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (153) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (154) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (155) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) ---------------------------------------- (156) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (157) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (158) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (159) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (160) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (161) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (162) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (163) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (164) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (165) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (166) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (167) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (168) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (170) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (172) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (173) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (174) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (175) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (176) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (177) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (178) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (179) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (186) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (187) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (188) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (189) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (190) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (191) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (192) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (193) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (194) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (195) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (196) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (200) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (201) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (202) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (203) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (204) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (205) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (206) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (207) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (209) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (212) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (213) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (214) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (215) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (216) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (217) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (218) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (219) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (220) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (221) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (228) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (229) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (230) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (231) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (232) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (233) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (234) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (235) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (236) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (237) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (238) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (239) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (240) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (241) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (242) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (243) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (244) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (245) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (246) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (247) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (248) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (249) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (250) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (256) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (257) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (258) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (259) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (260) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (261) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (262) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (263) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (264) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (284) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (304) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (342) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (350) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (351) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (352) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (353) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (354) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (356) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (366) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (367) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (368) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (370) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (371) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (372) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (373) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (374) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (375) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (376) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (378) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (380) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (381) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (382) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (383) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (384) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (385) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (386) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (387) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (388) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (389) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (390) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (391) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (392) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (393) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (394) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (395) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (396) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (397) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (398) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (399) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (400) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (401) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (402) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (403) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (404) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (405) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (406) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (407) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (408) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (409) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (410) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (411) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (412) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (413) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (414) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (415) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (416) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (417) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (418) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (419) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (420) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (421) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (422) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (423) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (424) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (425) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (426) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (427) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (428) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (429) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (430) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (431) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (432) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (433) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (434) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (435) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (436) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (437) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (438) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (439) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (440) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (441) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (442) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (443) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (444) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (445) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (446) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (447) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (448) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (449) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (450) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (451) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (452) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (453) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (454) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (455) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (456) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (457) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (458) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (459) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (460) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (461) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (462) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (463) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (464) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (465) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (466) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (467) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (468) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (469) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (470) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (471) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (472) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (473) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (474) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (475) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (476) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (477) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (478) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (479) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (480) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (481) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (482) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (483) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (484) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (485) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (486) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (487) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (488) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (489) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (490) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (491) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (492) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (493) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (494) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (495) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (496) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (497) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (498) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (499) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (500) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (501) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (502) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (503) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (504) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (505) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (506) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (507) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (508) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (509) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (510) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (511) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (512) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (513) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (514) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (515) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (516) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (517) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (518) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (519) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (520) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (521) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (522) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (523) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (524) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (525) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (526) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (527) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (528) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (529) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (530) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (531) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (532) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (533) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (534) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (535) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (536) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (537) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (538) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (539) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (540) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (541) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) ---------------------------------------- (542) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (543) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (544) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (545) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) ---------------------------------------- (546) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (547) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (548) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (549) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (550) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (551) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (552) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (553) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (554) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (555) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (556) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (557) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) ---------------------------------------- (558) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (559) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (560) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (561) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) ---------------------------------------- (562) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (563) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) ---------------------------------------- (564) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (565) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (566) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (567) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (568) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (569) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (570) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (571) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (572) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (573) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (574) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (575) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) ---------------------------------------- (576) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (577) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) ---------------------------------------- (578) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (579) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (580) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (581) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (582) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (583) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (584) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (585) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) ---------------------------------------- (586) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (587) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (588) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (589) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (590) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (591) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) ---------------------------------------- (592) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (593) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (594) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (595) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (596) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (597) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 POL(True) = 0 POL(Zero) = 0 POL(new_esEs1(x_1)) = 0 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_quot(x_1, x_2, x_3, x_4)) = x_3 POL(new_quot0(x_1, x_2, x_3, x_4)) = x_4 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Zero, vuz4500) -> Zero ---------------------------------------- (598) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (599) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 POL(True) = 0 POL(Zero) = 0 POL(new_esEs1(x_1)) = 0 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primMinusNatS2(x_1, x_2)) = 0 POL(new_primModNatS01(x_1, x_2)) = 1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 POL(new_primModNatS1(x_1, x_2)) = x_2 POL(new_quot(x_1, x_2, x_3, x_4)) = x_3 + x_4 POL(new_quot0(x_1, x_2, x_3, x_4)) = x_3 + x_4 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Zero, vuz4500) -> Zero ---------------------------------------- (600) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (601) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (602) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (603) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs1(x_1)) = 0 POL(new_primMinusNatS2(x_1, x_2)) = x_1 POL(new_primModNatS01(x_1, x_2)) = 1 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 2 + x_1 POL(new_primModNatS1(x_1, x_2)) = x_1 POL(new_quot(x_1, x_2, x_3, x_4)) = x_2 + 2*x_3 + x_4 POL(new_quot0(x_1, x_2, x_3, x_4)) = 2*x_3 + 2*x_4 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) ---------------------------------------- (604) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (605) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (606) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (607) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) the following chains were created: *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x4), new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero))) -> new_quot0(x6, False, Neg(Succ(Succ(x7))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x3, x4, x5, x4)=new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero))) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x4)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero)))) *We consider the chain new_quot0(x8, False, x9, x10) -> new_quot(x8, x9, x10, x9), new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero))) -> new_quot0(x11, False, Pos(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: (1) (new_quot(x8, x9, x10, x9)=new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero))) ==> new_quot0(x8, False, x9, x10)_>=_new_quot(x8, x9, x10, x9)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero)))) *We consider the chain new_quot0(x13, False, x14, x15) -> new_quot(x13, x14, x15, x14), new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero))) -> new_quot0(x16, False, Pos(Succ(Succ(x17))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x13, x14, x15, x14)=new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero))) ==> new_quot0(x13, False, x14, x15)_>=_new_quot(x13, x14, x15, x14)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero)))) *We consider the chain new_quot0(x18, False, x19, x20) -> new_quot(x18, x19, x20, x19), new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero))) -> new_quot0(x21, False, Neg(Succ(Succ(x22))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x18, x19, x20, x19)=new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero))) ==> new_quot0(x18, False, x19, x20)_>=_new_quot(x18, x19, x20, x19)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero)))) *We consider the chain new_quot0(x23, False, x24, x25) -> new_quot(x23, x24, x25, x24), new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x26, False, Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x23, x24, x25, x24)=new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x23, False, x24, x25)_>=_new_quot(x23, x24, x25, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x28, False, x29, x30) -> new_quot(x28, x29, x30, x29), new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x31, False, Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x28, x29, x30, x29)=new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x28, False, x29, x30)_>=_new_quot(x28, x29, x30, x29)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))))) *We consider the chain new_quot0(x33, False, x34, x35) -> new_quot(x33, x34, x35, x34), new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x36, False, Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x33, x34, x35, x34)=new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x33, False, x34, x35)_>=_new_quot(x33, x34, x35, x34)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_quot0(x38, False, x39, x40) -> new_quot(x38, x39, x40, x39), new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x41, False, Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_quot(x38, x39, x40, x39)=new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x38, False, x39, x40)_>=_new_quot(x38, x39, x40, x39)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))))) *We consider the chain new_quot0(x43, False, x44, x45) -> new_quot(x43, x44, x45, x44), new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47)))))) -> new_quot0(x46, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(new_primModNatS02(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))) which results in the following constraint: (1) (new_quot(x43, x44, x45, x44)=new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47)))))) ==> new_quot0(x43, False, x44, x45)_>=_new_quot(x43, x44, x45, x44)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))))) *We consider the chain new_quot0(x49, False, x50, x51) -> new_quot(x49, x50, x51, x50), new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x52, False, Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x49, x50, x51, x50)=new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x49, False, x50, x51)_>=_new_quot(x49, x50, x51, x50)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x54, False, x55, x56) -> new_quot(x54, x55, x56, x55), new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58)))))) -> new_quot0(x57, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x58)), Succ(Succ(x59)), x58, x59))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(new_primModNatS02(Succ(Succ(x58)), Succ(Succ(x59)), x58, x59))) which results in the following constraint: (1) (new_quot(x54, x55, x56, x55)=new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58)))))) ==> new_quot0(x54, False, x55, x56)_>=_new_quot(x54, x55, x56, x55)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))) *We consider the chain new_quot0(x60, False, x61, x62) -> new_quot(x60, x61, x62, x61), new_quot(x63, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x63, False, Pos(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x60, x61, x62, x61)=new_quot(x63, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x60, False, x61, x62)_>=_new_quot(x60, x61, x62, x61)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x60, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_quot(x60, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x65, False, x66, x67) -> new_quot(x65, x66, x67, x66), new_quot(x68, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Succ(Succ(x69)))))) -> new_quot0(x68, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x69)), Succ(Succ(x70)), x69, x70))), Pos(Succ(Succ(Succ(Succ(x70))))), Neg(new_primModNatS02(Succ(Succ(x69)), Succ(Succ(x70)), x69, x70))) which results in the following constraint: (1) (new_quot(x65, x66, x67, x66)=new_quot(x68, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Succ(Succ(x69)))))) ==> new_quot0(x65, False, x66, x67)_>=_new_quot(x65, x66, x67, x66)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x65, False, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))))_>=_new_quot(x65, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Succ(Succ(x69))))))) *We consider the chain new_quot0(x71, False, x72, x73) -> new_quot(x71, x72, x73, x72), new_quot(x74, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x74, False, Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x71, x72, x73, x72)=new_quot(x74, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x71, False, x72, x73)_>=_new_quot(x71, x72, x73, x72)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x71, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))))_>=_new_quot(x71, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x76, False, x77, x78) -> new_quot(x76, x77, x78, x77), new_quot(x79, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x80)))))) -> new_quot0(x79, new_esEs1(Neg(new_primModNatS1(Succ(x80), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x80), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x76, x77, x78, x77)=new_quot(x79, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x80)))))) ==> new_quot0(x76, False, x77, x78)_>=_new_quot(x76, x77, x78, x77)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x76, False, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x76, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x80))))))) *We consider the chain new_quot0(x81, False, x82, x83) -> new_quot(x81, x82, x83, x82), new_quot(x84, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85)))))) -> new_quot0(x84, new_esEs1(Neg(new_primModNatS02(x85, Zero, x85, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x85, Zero, x85, Zero))) which results in the following constraint: (1) (new_quot(x81, x82, x83, x82)=new_quot(x84, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85)))))) ==> new_quot0(x81, False, x82, x83)_>=_new_quot(x81, x82, x83, x82)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x81, False, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x81, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85))))))) *We consider the chain new_quot0(x86, False, x87, x88) -> new_quot(x86, x87, x88, x87), new_quot(x89, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x89, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x86, x87, x88, x87)=new_quot(x89, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x86, False, x87, x88)_>=_new_quot(x86, x87, x88, x87)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x86, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x86, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x90, False, x91, x92) -> new_quot(x90, x91, x92, x91), new_quot(x93, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x94)))))) -> new_quot0(x93, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x94)), Succ(Succ(x95)), x94, x95))), Neg(Succ(Succ(Succ(Succ(x95))))), Neg(new_primModNatS02(Succ(Succ(x94)), Succ(Succ(x95)), x94, x95))) which results in the following constraint: (1) (new_quot(x90, x91, x92, x91)=new_quot(x93, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x94)))))) ==> new_quot0(x90, False, x91, x92)_>=_new_quot(x90, x91, x92, x91)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x90, False, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))))_>=_new_quot(x90, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x94))))))) *We consider the chain new_quot0(x96, False, x97, x98) -> new_quot(x96, x97, x98, x97), new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x99, False, Neg(Succ(Succ(Succ(Succ(x100))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x96, x97, x98, x97)=new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x96, False, x97, x98)_>=_new_quot(x96, x97, x98, x97)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x96, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))))_>=_new_quot(x96, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))), Neg(Succ(Succ(Succ(Zero)))))) *We consider the chain new_quot0(x101, False, x102, x103) -> new_quot(x101, x102, x103, x102), new_quot(x104, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x105)))))) -> new_quot0(x104, new_esEs1(Neg(new_primModNatS1(Succ(x105), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x105), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_quot(x101, x102, x103, x102)=new_quot(x104, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x105)))))) ==> new_quot0(x101, False, x102, x103)_>=_new_quot(x101, x102, x103, x102)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x101, False, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x101, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x105))))))) *We consider the chain new_quot0(x106, False, x107, x108) -> new_quot(x106, x107, x108, x107), new_quot(x109, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x110)))))) -> new_quot0(x109, new_esEs1(Neg(new_primModNatS02(x110, Zero, x110, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x110, Zero, x110, Zero))) which results in the following constraint: (1) (new_quot(x106, x107, x108, x107)=new_quot(x109, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x110)))))) ==> new_quot0(x106, False, x107, x108)_>=_new_quot(x106, x107, x108, x107)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x106, False, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x106, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x110))))))) *We consider the chain new_quot0(x111, False, x112, x113) -> new_quot(x111, x112, x113, x112), new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x114, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: (1) (new_quot(x111, x112, x113, x112)=new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x111, False, x112, x113)_>=_new_quot(x111, x112, x113, x112)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_quot0(x111, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x111, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x115, Pos(Succ(Zero)), Neg(Succ(Succ(x116))), Pos(Succ(Zero))) -> new_quot0(x115, False, Neg(Succ(Succ(x116))), Pos(Succ(Zero))), new_quot0(x117, False, x118, x119) -> new_quot(x117, x118, x119, x118) which results in the following constraint: (1) (new_quot0(x115, False, Neg(Succ(Succ(x116))), Pos(Succ(Zero)))=new_quot0(x117, False, x118, x119) ==> new_quot(x115, Pos(Succ(Zero)), Neg(Succ(Succ(x116))), Pos(Succ(Zero)))_>=_new_quot0(x115, False, Neg(Succ(Succ(x116))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x115, Pos(Succ(Zero)), Neg(Succ(Succ(x116))), Pos(Succ(Zero)))_>=_new_quot0(x115, False, Neg(Succ(Succ(x116))), Pos(Succ(Zero)))) For Pair new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x164, Pos(Succ(Zero)), Pos(Succ(Succ(x165))), Pos(Succ(Zero))) -> new_quot0(x164, False, Pos(Succ(Succ(x165))), Pos(Succ(Zero))), new_quot0(x166, False, x167, x168) -> new_quot(x166, x167, x168, x167) which results in the following constraint: (1) (new_quot0(x164, False, Pos(Succ(Succ(x165))), Pos(Succ(Zero)))=new_quot0(x166, False, x167, x168) ==> new_quot(x164, Pos(Succ(Zero)), Pos(Succ(Succ(x165))), Pos(Succ(Zero)))_>=_new_quot0(x164, False, Pos(Succ(Succ(x165))), Pos(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x164, Pos(Succ(Zero)), Pos(Succ(Succ(x165))), Pos(Succ(Zero)))_>=_new_quot0(x164, False, Pos(Succ(Succ(x165))), Pos(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x213, Neg(Succ(Zero)), Pos(Succ(Succ(x214))), Neg(Succ(Zero))) -> new_quot0(x213, False, Pos(Succ(Succ(x214))), Neg(Succ(Zero))), new_quot0(x215, False, x216, x217) -> new_quot(x215, x216, x217, x216) which results in the following constraint: (1) (new_quot0(x213, False, Pos(Succ(Succ(x214))), Neg(Succ(Zero)))=new_quot0(x215, False, x216, x217) ==> new_quot(x213, Neg(Succ(Zero)), Pos(Succ(Succ(x214))), Neg(Succ(Zero)))_>=_new_quot0(x213, False, Pos(Succ(Succ(x214))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x213, Neg(Succ(Zero)), Pos(Succ(Succ(x214))), Neg(Succ(Zero)))_>=_new_quot0(x213, False, Pos(Succ(Succ(x214))), Neg(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x262, Neg(Succ(Zero)), Neg(Succ(Succ(x263))), Neg(Succ(Zero))) -> new_quot0(x262, False, Neg(Succ(Succ(x263))), Neg(Succ(Zero))), new_quot0(x264, False, x265, x266) -> new_quot(x264, x265, x266, x265) which results in the following constraint: (1) (new_quot0(x262, False, Neg(Succ(Succ(x263))), Neg(Succ(Zero)))=new_quot0(x264, False, x265, x266) ==> new_quot(x262, Neg(Succ(Zero)), Neg(Succ(Succ(x263))), Neg(Succ(Zero)))_>=_new_quot0(x262, False, Neg(Succ(Succ(x263))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x262, Neg(Succ(Zero)), Neg(Succ(Succ(x263))), Neg(Succ(Zero)))_>=_new_quot0(x262, False, Neg(Succ(Succ(x263))), Neg(Succ(Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x311, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x311, False, Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero)))), new_quot0(x313, False, x314, x315) -> new_quot(x313, x314, x315, x314) which results in the following constraint: (1) (new_quot0(x311, False, Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))=new_quot0(x313, False, x314, x315) ==> new_quot(x311, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x311, False, Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x311, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x311, False, Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x360, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x360, False, Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero)))), new_quot0(x362, False, x363, x364) -> new_quot(x362, x363, x364, x363) which results in the following constraint: (1) (new_quot0(x360, False, Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))=new_quot0(x362, False, x363, x364) ==> new_quot(x360, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x360, False, Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x360, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x360, False, Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))) For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x409, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x409, False, Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero)))), new_quot0(x411, False, x412, x413) -> new_quot(x411, x412, x413, x412) which results in the following constraint: (1) (new_quot0(x409, False, Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))=new_quot0(x411, False, x412, x413) ==> new_quot(x409, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x409, False, Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x409, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x409, False, Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))) For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_quot(x458, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x458, False, Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero)))), new_quot0(x460, False, x461, x462) -> new_quot(x460, x461, x462, x461) which results in the following constraint: (1) (new_quot0(x458, False, Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))=new_quot0(x460, False, x461, x462) ==> new_quot(x458, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x458, False, Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x458, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x458, False, Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508)))))) -> new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), new_quot0(x510, False, x511, x512) -> new_quot(x510, x511, x512, x511) which results in the following constraint: (1) (new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))=new_quot0(x510, False, x511, x512) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))=x1239 & new_esEs1(x1239)=False ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1239)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))=Neg(Succ(x1240)) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))=Pos(Succ(x1241)) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x508))=x1242 & Succ(Succ(x509))=x1243 & new_primModNatS02(x1242, x1243, x508, x509)=Succ(x1241) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(x508))))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(Succ(Succ(Succ(Succ(x508))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509))), Neg(Succ(Succ(Succ(Succ(x509))))), Pos(new_primModNatS02(Succ(Succ(x508)), Succ(Succ(x509)), x508, x509)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1242, x1243, x508, x509)=Succ(x1241) which results in the following new constraints: (6) (new_primModNatS01(x1246, x1245)=Succ(x1241) & Succ(Succ(Succ(x1244)))=x1246 & Succ(Succ(Zero))=x1245 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero)))) (7) (new_primModNatS02(x1250, x1249, x1248, x1247)=Succ(x1241) & Succ(Succ(Succ(x1248)))=x1250 & Succ(Succ(Succ(x1247)))=x1249 & (\/x1251,x1252:new_primModNatS02(x1250, x1249, x1248, x1247)=Succ(x1251) & Succ(Succ(x1248))=x1250 & Succ(Succ(x1247))=x1249 ==> new_quot(x1252, Pos(Succ(Succ(Succ(Succ(x1248))))), Neg(Succ(Succ(Succ(Succ(x1247))))), Pos(Succ(Succ(Succ(Succ(x1248))))))_>=_new_quot0(x1252, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x1248)), Succ(Succ(x1247)), x1248, x1247))), Neg(Succ(Succ(Succ(Succ(x1247))))), Pos(new_primModNatS02(Succ(Succ(x1248)), Succ(Succ(x1247)), x1248, x1247)))) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1248)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1247)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1248)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1248))), Succ(Succ(Succ(x1247))), Succ(x1248), Succ(x1247)))), Neg(Succ(Succ(Succ(Succ(Succ(x1247)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1248))), Succ(Succ(Succ(x1247))), Succ(x1248), Succ(x1247))))) (8) (new_primModNatS01(x1254, x1253)=Succ(x1241) & Succ(Succ(Zero))=x1254 & Succ(Succ(Zero))=x1253 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1257))=Succ(x1241) & Succ(Succ(Zero))=x1257 & Succ(Succ(Succ(x1255)))=x1256 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255)))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1246, x1245)=Succ(x1241) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1259), Succ(x1258)), Succ(x1258))=Succ(x1241) & Succ(Succ(Succ(x1244)))=x1259 & Succ(Succ(Zero))=x1258 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1250, x1249, x1248, x1247)=Succ(x1241) & Succ(Succ(Succ(x1248)))=x1250 & Succ(Succ(Succ(x1247)))=x1249 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1248)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1247)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1248)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1248))), Succ(Succ(Succ(x1247))), Succ(x1248), Succ(x1247)))), Neg(Succ(Succ(Succ(Succ(Succ(x1247)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1248))), Succ(Succ(Succ(x1247))), Succ(x1248), Succ(x1247))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1254, x1253)=Succ(x1241) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1279), Succ(x1278)), Succ(x1278))=Succ(x1241) & Succ(Succ(Zero))=x1279 & Succ(Succ(Zero))=x1278 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255)))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1250, x1249, x1248, x1247)=Succ(x1241) which results in the following new constraints: (15) (new_primModNatS01(x1266, x1265)=Succ(x1241) & Succ(Succ(Succ(Succ(x1264))))=x1266 & Succ(Succ(Succ(Zero)))=x1265 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero))))) (16) (new_primModNatS02(x1270, x1269, x1268, x1267)=Succ(x1241) & Succ(Succ(Succ(Succ(x1268))))=x1270 & Succ(Succ(Succ(Succ(x1267))))=x1269 & (\/x1271,x1272:new_primModNatS02(x1270, x1269, x1268, x1267)=Succ(x1271) & Succ(Succ(Succ(x1268)))=x1270 & Succ(Succ(Succ(x1267)))=x1269 ==> new_quot(x1272, Pos(Succ(Succ(Succ(Succ(Succ(x1268)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1267)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1268)))))))_>=_new_quot0(x1272, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1268))), Succ(Succ(Succ(x1267))), Succ(x1268), Succ(x1267)))), Neg(Succ(Succ(Succ(Succ(Succ(x1267)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1268))), Succ(Succ(Succ(x1267))), Succ(x1268), Succ(x1267))))) ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267)))))) (17) (new_primModNatS01(x1274, x1273)=Succ(x1241) & Succ(Succ(Succ(Zero)))=x1274 & Succ(Succ(Succ(Zero)))=x1273 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x1277))=Succ(x1241) & Succ(Succ(Succ(Zero)))=x1277 & Succ(Succ(Succ(Succ(x1275))))=x1276 ==> new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x579, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x579, False, Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x581, False, x582, x583) -> new_quot(x581, x582, x583, x582) which results in the following constraint: (1) (new_quot0(x579, False, Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x581, False, x582, x583) ==> new_quot(x579, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x579, False, Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x579, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x579, False, Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629)))))) -> new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), new_quot0(x631, False, x632, x633) -> new_quot(x631, x632, x633, x632) which results in the following constraint: (1) (new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))=new_quot0(x631, False, x632, x633) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))=x1284 & new_esEs1(x1284)=False ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1284)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))=Neg(Succ(x1285)) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))=Pos(Succ(x1286)) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x629))=x1287 & Succ(Succ(x630))=x1288 & new_primModNatS02(x1287, x1288, x629, x630)=Succ(x1286) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(x629))))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(Succ(Succ(Succ(Succ(x629))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630))), Pos(Succ(Succ(Succ(Succ(x630))))), Pos(new_primModNatS02(Succ(Succ(x629)), Succ(Succ(x630)), x629, x630)))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1287, x1288, x629, x630)=Succ(x1286) which results in the following new constraints: (6) (new_primModNatS01(x1291, x1290)=Succ(x1286) & Succ(Succ(Succ(x1289)))=x1291 & Succ(Succ(Zero))=x1290 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero)))) (7) (new_primModNatS02(x1295, x1294, x1293, x1292)=Succ(x1286) & Succ(Succ(Succ(x1293)))=x1295 & Succ(Succ(Succ(x1292)))=x1294 & (\/x1296,x1297:new_primModNatS02(x1295, x1294, x1293, x1292)=Succ(x1296) & Succ(Succ(x1293))=x1295 & Succ(Succ(x1292))=x1294 ==> new_quot(x1297, Pos(Succ(Succ(Succ(Succ(x1293))))), Pos(Succ(Succ(Succ(Succ(x1292))))), Pos(Succ(Succ(Succ(Succ(x1293))))))_>=_new_quot0(x1297, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x1293)), Succ(Succ(x1292)), x1293, x1292))), Pos(Succ(Succ(Succ(Succ(x1292))))), Pos(new_primModNatS02(Succ(Succ(x1293)), Succ(Succ(x1292)), x1293, x1292)))) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1292)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1293))), Succ(Succ(Succ(x1292))), Succ(x1293), Succ(x1292)))), Pos(Succ(Succ(Succ(Succ(Succ(x1292)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1293))), Succ(Succ(Succ(x1292))), Succ(x1293), Succ(x1292))))) (8) (new_primModNatS01(x1299, x1298)=Succ(x1286) & Succ(Succ(Zero))=x1299 & Succ(Succ(Zero))=x1298 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1302))=Succ(x1286) & Succ(Succ(Zero))=x1302 & Succ(Succ(Succ(x1300)))=x1301 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300)))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1291, x1290)=Succ(x1286) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1304), Succ(x1303)), Succ(x1303))=Succ(x1286) & Succ(Succ(Succ(x1289)))=x1304 & Succ(Succ(Zero))=x1303 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1295, x1294, x1293, x1292)=Succ(x1286) & Succ(Succ(Succ(x1293)))=x1295 & Succ(Succ(Succ(x1292)))=x1294 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1292)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1293))), Succ(Succ(Succ(x1292))), Succ(x1293), Succ(x1292)))), Pos(Succ(Succ(Succ(Succ(Succ(x1292)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1293))), Succ(Succ(Succ(x1292))), Succ(x1293), Succ(x1292))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1299, x1298)=Succ(x1286) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1324), Succ(x1323)), Succ(x1323))=Succ(x1286) & Succ(Succ(Zero))=x1324 & Succ(Succ(Zero))=x1323 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300)))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1295, x1294, x1293, x1292)=Succ(x1286) which results in the following new constraints: (15) (new_primModNatS01(x1311, x1310)=Succ(x1286) & Succ(Succ(Succ(Succ(x1309))))=x1311 & Succ(Succ(Succ(Zero)))=x1310 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero))))) (16) (new_primModNatS02(x1315, x1314, x1313, x1312)=Succ(x1286) & Succ(Succ(Succ(Succ(x1313))))=x1315 & Succ(Succ(Succ(Succ(x1312))))=x1314 & (\/x1316,x1317:new_primModNatS02(x1315, x1314, x1313, x1312)=Succ(x1316) & Succ(Succ(Succ(x1313)))=x1315 & Succ(Succ(Succ(x1312)))=x1314 ==> new_quot(x1317, Pos(Succ(Succ(Succ(Succ(Succ(x1313)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1312)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1313)))))))_>=_new_quot0(x1317, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1313))), Succ(Succ(Succ(x1312))), Succ(x1313), Succ(x1312)))), Pos(Succ(Succ(Succ(Succ(Succ(x1312)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1313))), Succ(Succ(Succ(x1312))), Succ(x1313), Succ(x1312))))) ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312)))))) (17) (new_primModNatS01(x1319, x1318)=Succ(x1286) & Succ(Succ(Succ(Zero)))=x1319 & Succ(Succ(Succ(Zero)))=x1318 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x1322))=Succ(x1286) & Succ(Succ(Succ(Zero)))=x1322 & Succ(Succ(Succ(Succ(x1320))))=x1321 ==> new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x700, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(x700, False, Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x702, False, x703, x704) -> new_quot(x702, x703, x704, x703) which results in the following constraint: (1) (new_quot0(x700, False, Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x702, False, x703, x704) ==> new_quot(x700, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x700, False, Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x700, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x700, False, Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750)))))) -> new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), new_quot0(x752, False, x753, x754) -> new_quot(x752, x753, x754, x753) which results in the following constraint: (1) (new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))=new_quot0(x752, False, x753, x754) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))=x1329 & new_esEs1(x1329)=False ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1329)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))=Neg(Succ(x1330)) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))=Pos(Succ(x1331)) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x750))=x1332 & Succ(Succ(x751))=x1333 & new_primModNatS02(x1332, x1333, x750, x751)=Succ(x1330) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(x750))))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(Succ(Succ(Succ(Succ(x750))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751))), Pos(Succ(Succ(Succ(Succ(x751))))), Neg(new_primModNatS02(Succ(Succ(x750)), Succ(Succ(x751)), x750, x751)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1332, x1333, x750, x751)=Succ(x1330) which results in the following new constraints: (6) (new_primModNatS01(x1336, x1335)=Succ(x1330) & Succ(Succ(Succ(x1334)))=x1336 & Succ(Succ(Zero))=x1335 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero)))) (7) (new_primModNatS02(x1340, x1339, x1338, x1337)=Succ(x1330) & Succ(Succ(Succ(x1338)))=x1340 & Succ(Succ(Succ(x1337)))=x1339 & (\/x1341,x1342:new_primModNatS02(x1340, x1339, x1338, x1337)=Succ(x1341) & Succ(Succ(x1338))=x1340 & Succ(Succ(x1337))=x1339 ==> new_quot(x1342, Neg(Succ(Succ(Succ(Succ(x1338))))), Pos(Succ(Succ(Succ(Succ(x1337))))), Neg(Succ(Succ(Succ(Succ(x1338))))))_>=_new_quot0(x1342, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x1338)), Succ(Succ(x1337)), x1338, x1337))), Pos(Succ(Succ(Succ(Succ(x1337))))), Neg(new_primModNatS02(Succ(Succ(x1338)), Succ(Succ(x1337)), x1338, x1337)))) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1338)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1337)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1338))), Succ(Succ(Succ(x1337))), Succ(x1338), Succ(x1337)))), Pos(Succ(Succ(Succ(Succ(Succ(x1337)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1338))), Succ(Succ(Succ(x1337))), Succ(x1338), Succ(x1337))))) (8) (new_primModNatS01(x1344, x1343)=Succ(x1330) & Succ(Succ(Zero))=x1344 & Succ(Succ(Zero))=x1343 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1347))=Succ(x1330) & Succ(Succ(Zero))=x1347 & Succ(Succ(Succ(x1345)))=x1346 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345)))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1336, x1335)=Succ(x1330) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1349), Succ(x1348)), Succ(x1348))=Succ(x1330) & Succ(Succ(Succ(x1334)))=x1349 & Succ(Succ(Zero))=x1348 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1340, x1339, x1338, x1337)=Succ(x1330) & Succ(Succ(Succ(x1338)))=x1340 & Succ(Succ(Succ(x1337)))=x1339 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1338)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1337)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1338))), Succ(Succ(Succ(x1337))), Succ(x1338), Succ(x1337)))), Pos(Succ(Succ(Succ(Succ(Succ(x1337)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1338))), Succ(Succ(Succ(x1337))), Succ(x1338), Succ(x1337))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1344, x1343)=Succ(x1330) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1369), Succ(x1368)), Succ(x1368))=Succ(x1330) & Succ(Succ(Zero))=x1369 & Succ(Succ(Zero))=x1368 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345)))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1340, x1339, x1338, x1337)=Succ(x1330) which results in the following new constraints: (15) (new_primModNatS01(x1356, x1355)=Succ(x1330) & Succ(Succ(Succ(Succ(x1354))))=x1356 & Succ(Succ(Succ(Zero)))=x1355 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero))))) (16) (new_primModNatS02(x1360, x1359, x1358, x1357)=Succ(x1330) & Succ(Succ(Succ(Succ(x1358))))=x1360 & Succ(Succ(Succ(Succ(x1357))))=x1359 & (\/x1361,x1362:new_primModNatS02(x1360, x1359, x1358, x1357)=Succ(x1361) & Succ(Succ(Succ(x1358)))=x1360 & Succ(Succ(Succ(x1357)))=x1359 ==> new_quot(x1362, Neg(Succ(Succ(Succ(Succ(Succ(x1358)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1357)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1358)))))))_>=_new_quot0(x1362, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1358))), Succ(Succ(Succ(x1357))), Succ(x1358), Succ(x1357)))), Pos(Succ(Succ(Succ(Succ(Succ(x1357)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1358))), Succ(Succ(Succ(x1357))), Succ(x1358), Succ(x1357))))) ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357)))))) (17) (new_primModNatS01(x1364, x1363)=Succ(x1330) & Succ(Succ(Succ(Zero)))=x1364 & Succ(Succ(Succ(Zero)))=x1363 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x1367))=Succ(x1330) & Succ(Succ(Succ(Zero)))=x1367 & Succ(Succ(Succ(Succ(x1365))))=x1366 ==> new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x821, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x821, False, Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x823, False, x824, x825) -> new_quot(x823, x824, x825, x824) which results in the following constraint: (1) (new_quot0(x821, False, Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x823, False, x824, x825) ==> new_quot(x821, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x821, False, Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x821, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x821, False, Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871)))))) -> new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), new_quot0(x872, False, x873, x874) -> new_quot(x872, x873, x874, x873) which results in the following constraint: (1) (new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))=new_quot0(x872, False, x873, x874) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))=x1374 & new_esEs1(x1374)=False ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1374)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))=Neg(Succ(x1375)) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) (4) (False=False & Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))=Pos(Succ(x1376)) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x871)=x1377 & Succ(Succ(Zero))=x1378 & new_primModNatS1(x1377, x1378)=Succ(x1375) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1377, x1378)=Succ(x1375) which results in the following new constraints: (6) (Succ(Zero)=Succ(x1375) & Succ(x871)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1379) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS0(x1381), Zero)=Succ(x1375) & Succ(x871)=Succ(Succ(x1381)) & Succ(Succ(Zero))=Zero ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1375) & Succ(x871)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x1383, x1382, x1383, x1382)=Succ(x1375) & Succ(x871)=Succ(Succ(x1383)) & Succ(Succ(Zero))=Succ(x1382) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(x871))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x871))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x871), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x870, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x1383=x1384 & x1382=x1385 & new_primModNatS02(x1383, x1382, x1384, x1385)=Succ(x1375) & Succ(Zero)=x1382 ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(x1383)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1383)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1383)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1383)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1383, x1382, x1384, x1385)=Succ(x1375) which results in the following new constraints: (12) (new_primModNatS01(x1388, x1387)=Succ(x1375) & x1388=Succ(x1386) & x1387=Zero & Succ(Zero)=x1387 ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(x1388)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1388)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1388)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1388)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x1392, x1391, x1390, x1389)=Succ(x1375) & x1392=Succ(x1390) & x1391=Succ(x1389) & Succ(Zero)=x1391 & (\/x1393,x1394:new_primModNatS02(x1392, x1391, x1390, x1389)=Succ(x1393) & x1392=x1390 & x1391=x1389 & Succ(Zero)=x1391 ==> new_quot(x1394, Neg(Succ(Succ(Succ(Succ(Succ(x1392)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1392)))))))_>=_new_quot0(x1394, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1392)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1392)), Succ(Succ(Zero)))))) ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(x1392)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1392)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1392)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1392)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x1396, x1395)=Succ(x1375) & x1396=Zero & x1395=Zero & Succ(Zero)=x1395 ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(x1396)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1396)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1396)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1396)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x1399))=Succ(x1375) & x1399=Zero & x1398=Succ(x1397) & Succ(Zero)=x1398 ==> new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(x1399)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1399)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1399)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1399)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1390))))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1390))))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x1390))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1390))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920)))))) -> new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero))), new_quot0(x921, False, x922, x923) -> new_quot(x921, x922, x923, x922) which results in the following constraint: (1) (new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))=new_quot0(x921, False, x922, x923) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x920, Zero, x920, Zero))=x1402 & new_esEs1(x1402)=False ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1402)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(x920, Zero, x920, Zero))=Neg(Succ(x1403)) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))) (4) (False=False & Neg(new_primModNatS02(x920, Zero, x920, Zero))=Pos(Succ(x1404)) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Zero=x1405 & x920=x1406 & Zero=x1407 & new_primModNatS02(x920, x1405, x1406, x1407)=Succ(x1403) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x920))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x920))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x920, Zero, x920, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x920, Zero, x920, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x920, x1405, x1406, x1407)=Succ(x1403) which results in the following new constraints: (6) (new_primModNatS01(x1410, x1409)=Succ(x1403) & Zero=x1409 & x1410=Succ(x1408) & Zero=Zero ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x1410))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1410))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x1410, Zero, x1410, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1410, Zero, x1410, Zero)))) (7) (new_primModNatS02(x1414, x1413, x1412, x1411)=Succ(x1403) & Zero=x1413 & x1414=Succ(x1412) & Zero=Succ(x1411) & (\/x1415,x1416:new_primModNatS02(x1414, x1413, x1412, x1411)=Succ(x1415) & Zero=x1413 & x1414=x1412 & Zero=x1411 ==> new_quot(x1416, Neg(Succ(Succ(Succ(Succ(x1414))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1414))))))_>=_new_quot0(x1416, new_esEs1(Neg(new_primModNatS02(x1414, Zero, x1414, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1414, Zero, x1414, Zero)))) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x1414))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1414))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x1414, Zero, x1414, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1414, Zero, x1414, Zero)))) (8) (new_primModNatS01(x1418, x1417)=Succ(x1403) & Zero=x1417 & x1418=Zero & Zero=Zero ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x1418))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1418))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x1418, Zero, x1418, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1418, Zero, x1418, Zero)))) (9) (Succ(Succ(x1421))=Succ(x1403) & Zero=x1420 & x1421=Zero & Zero=Succ(x1419) ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(x1421))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1421))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(x1421, Zero, x1421, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1421, Zero, x1421, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x1408)=x1422 & new_primModNatS01(x1422, x1409)=Succ(x1403) & Zero=x1409 ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x1429 & new_primModNatS01(x1429, x1417)=Succ(x1403) & Zero=x1417 ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1422, x1409)=Succ(x1403) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1424), Succ(x1423)), Succ(x1423))=Succ(x1403) & Succ(x1408)=x1424 & Zero=x1423 ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x919, Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1429, x1417)=Succ(x1403) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x1431), Succ(x1430)), Succ(x1430))=Succ(x1403) & Zero=x1431 & Zero=x1430 ==> new_quot(x919, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x919, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x968, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x968, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x969, False, x970, x971) -> new_quot(x969, x970, x971, x970) which results in the following constraint: (1) (new_quot0(x968, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x969, False, x970, x971) ==> new_quot(x968, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x968, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x968, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x968, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995)))))) -> new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), new_quot0(x997, False, x998, x999) -> new_quot(x997, x998, x999, x998) which results in the following constraint: (1) (new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))=new_quot0(x997, False, x998, x999) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))=x1436 & new_esEs1(x1436)=False ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1436)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))=Neg(Succ(x1437)) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))=Pos(Succ(x1438)) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x995))=x1439 & Succ(Succ(x996))=x1440 & new_primModNatS02(x1439, x1440, x995, x996)=Succ(x1437) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(x995))))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(Succ(Succ(Succ(Succ(x995))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996))), Neg(Succ(Succ(Succ(Succ(x996))))), Neg(new_primModNatS02(Succ(Succ(x995)), Succ(Succ(x996)), x995, x996)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1439, x1440, x995, x996)=Succ(x1437) which results in the following new constraints: (6) (new_primModNatS01(x1443, x1442)=Succ(x1437) & Succ(Succ(Succ(x1441)))=x1443 & Succ(Succ(Zero))=x1442 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero)))) (7) (new_primModNatS02(x1447, x1446, x1445, x1444)=Succ(x1437) & Succ(Succ(Succ(x1445)))=x1447 & Succ(Succ(Succ(x1444)))=x1446 & (\/x1448,x1449:new_primModNatS02(x1447, x1446, x1445, x1444)=Succ(x1448) & Succ(Succ(x1445))=x1447 & Succ(Succ(x1444))=x1446 ==> new_quot(x1449, Neg(Succ(Succ(Succ(Succ(x1445))))), Neg(Succ(Succ(Succ(Succ(x1444))))), Neg(Succ(Succ(Succ(Succ(x1445))))))_>=_new_quot0(x1449, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x1445)), Succ(Succ(x1444)), x1445, x1444))), Neg(Succ(Succ(Succ(Succ(x1444))))), Neg(new_primModNatS02(Succ(Succ(x1445)), Succ(Succ(x1444)), x1445, x1444)))) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1445)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1444)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1445)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1445))), Succ(Succ(Succ(x1444))), Succ(x1445), Succ(x1444)))), Neg(Succ(Succ(Succ(Succ(Succ(x1444)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1445))), Succ(Succ(Succ(x1444))), Succ(x1445), Succ(x1444))))) (8) (new_primModNatS01(x1451, x1450)=Succ(x1437) & Succ(Succ(Zero))=x1451 & Succ(Succ(Zero))=x1450 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (9) (Succ(Succ(x1454))=Succ(x1437) & Succ(Succ(Zero))=x1454 & Succ(Succ(Succ(x1452)))=x1453 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452)))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1443, x1442)=Succ(x1437) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1456), Succ(x1455)), Succ(x1455))=Succ(x1437) & Succ(Succ(Succ(x1441)))=x1456 & Succ(Succ(Zero))=x1455 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero)))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x1447, x1446, x1445, x1444)=Succ(x1437) & Succ(Succ(Succ(x1445)))=x1447 & Succ(Succ(Succ(x1444)))=x1446 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1445)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1444)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1445)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1445))), Succ(Succ(Succ(x1444))), Succ(x1445), Succ(x1444)))), Neg(Succ(Succ(Succ(Succ(Succ(x1444)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1445))), Succ(Succ(Succ(x1444))), Succ(x1445), Succ(x1444))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1451, x1450)=Succ(x1437) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1476), Succ(x1475)), Succ(x1475))=Succ(x1437) & Succ(Succ(Zero))=x1476 & Succ(Succ(Zero))=x1475 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452)))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1447, x1446, x1445, x1444)=Succ(x1437) which results in the following new constraints: (15) (new_primModNatS01(x1463, x1462)=Succ(x1437) & Succ(Succ(Succ(Succ(x1461))))=x1463 & Succ(Succ(Succ(Zero)))=x1462 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero))))) (16) (new_primModNatS02(x1467, x1466, x1465, x1464)=Succ(x1437) & Succ(Succ(Succ(Succ(x1465))))=x1467 & Succ(Succ(Succ(Succ(x1464))))=x1466 & (\/x1468,x1469:new_primModNatS02(x1467, x1466, x1465, x1464)=Succ(x1468) & Succ(Succ(Succ(x1465)))=x1467 & Succ(Succ(Succ(x1464)))=x1466 ==> new_quot(x1469, Neg(Succ(Succ(Succ(Succ(Succ(x1465)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1464)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1465)))))))_>=_new_quot0(x1469, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1465))), Succ(Succ(Succ(x1464))), Succ(x1465), Succ(x1464)))), Neg(Succ(Succ(Succ(Succ(Succ(x1464)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1465))), Succ(Succ(Succ(x1464))), Succ(x1465), Succ(x1464))))) ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464)))))) (17) (new_primModNatS01(x1471, x1470)=Succ(x1437) & Succ(Succ(Succ(Zero)))=x1471 & Succ(Succ(Succ(Zero)))=x1470 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (18) (Succ(Succ(x1474))=Succ(x1437) & Succ(Succ(Succ(Zero)))=x1474 & Succ(Succ(Succ(Succ(x1472))))=x1473 ==> new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472)))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464)))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472)))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1066, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x1066, False, Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x1068, False, x1069, x1070) -> new_quot(x1068, x1069, x1070, x1069) which results in the following constraint: (1) (new_quot0(x1066, False, Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x1068, False, x1069, x1070) ==> new_quot(x1066, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1066, False, Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1066, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1066, False, Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116)))))) -> new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), new_quot0(x1117, False, x1118, x1119) -> new_quot(x1117, x1118, x1119, x1118) which results in the following constraint: (1) (new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))=new_quot0(x1117, False, x1118, x1119) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))=x1481 & new_esEs1(x1481)=False ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1481)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))=Neg(Succ(x1482)) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) (4) (False=False & Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))=Pos(Succ(x1483)) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(x1116)=x1484 & Succ(Succ(Zero))=x1485 & new_primModNatS1(x1484, x1485)=Succ(x1482) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1484, x1485)=Succ(x1482) which results in the following new constraints: (6) (Succ(Zero)=Succ(x1482) & Succ(x1116)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1486) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) (7) (new_primModNatS1(new_primMinusNatS0(x1488), Zero)=Succ(x1482) & Succ(x1116)=Succ(Succ(x1488)) & Succ(Succ(Zero))=Zero ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1482) & Succ(x1116)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) (9) (new_primModNatS02(x1490, x1489, x1490, x1489)=Succ(x1482) & Succ(x1116)=Succ(Succ(x1490)) & Succ(Succ(Zero))=Succ(x1489) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(x1116))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1116))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1116), Succ(Succ(Zero)))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (x1490=x1491 & x1489=x1492 & new_primModNatS02(x1490, x1489, x1491, x1492)=Succ(x1482) & Succ(Zero)=x1489 ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(x1490)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1490)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1490)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1490)), Succ(Succ(Zero)))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1490, x1489, x1491, x1492)=Succ(x1482) which results in the following new constraints: (12) (new_primModNatS01(x1495, x1494)=Succ(x1482) & x1495=Succ(x1493) & x1494=Zero & Succ(Zero)=x1494 ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(x1495)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1495)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1495)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1495)), Succ(Succ(Zero)))))) (13) (new_primModNatS02(x1499, x1498, x1497, x1496)=Succ(x1482) & x1499=Succ(x1497) & x1498=Succ(x1496) & Succ(Zero)=x1498 & (\/x1500,x1501:new_primModNatS02(x1499, x1498, x1497, x1496)=Succ(x1500) & x1499=x1497 & x1498=x1496 & Succ(Zero)=x1498 ==> new_quot(x1501, Neg(Succ(Succ(Succ(Succ(Succ(x1499)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1499)))))))_>=_new_quot0(x1501, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1499)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1499)), Succ(Succ(Zero)))))) ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(x1499)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1499)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1499)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1499)), Succ(Succ(Zero)))))) (14) (new_primModNatS01(x1503, x1502)=Succ(x1482) & x1503=Zero & x1502=Zero & Succ(Zero)=x1502 ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(x1503)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1503)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1503)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1503)), Succ(Succ(Zero)))))) (15) (Succ(Succ(x1506))=Succ(x1482) & x1506=Zero & x1505=Succ(x1504) & Succ(Zero)=x1505 ==> new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(x1506)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1506)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x1506)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1506)), Succ(Succ(Zero)))))) We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (16) (new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1497))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1497))))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x1497))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1497))), Succ(Succ(Zero)))))) We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (17) (new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165)))))) -> new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), new_quot0(x1166, False, x1167, x1168) -> new_quot(x1166, x1167, x1168, x1167) which results in the following constraint: (1) (new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))=new_quot0(x1166, False, x1167, x1168) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x1165, Zero, x1165, Zero))=x1509 & new_esEs1(x1509)=False ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1509)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(x1165, Zero, x1165, Zero))=Neg(Succ(x1510)) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))) (4) (False=False & Neg(new_primModNatS02(x1165, Zero, x1165, Zero))=Pos(Succ(x1511)) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Zero=x1512 & x1165=x1513 & Zero=x1514 & new_primModNatS02(x1165, x1512, x1513, x1514)=Succ(x1510) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1165))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1165))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1165, Zero, x1165, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1165, Zero, x1165, Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1165, x1512, x1513, x1514)=Succ(x1510) which results in the following new constraints: (6) (new_primModNatS01(x1517, x1516)=Succ(x1510) & Zero=x1516 & x1517=Succ(x1515) & Zero=Zero ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1517))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1517))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1517, Zero, x1517, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1517, Zero, x1517, Zero)))) (7) (new_primModNatS02(x1521, x1520, x1519, x1518)=Succ(x1510) & Zero=x1520 & x1521=Succ(x1519) & Zero=Succ(x1518) & (\/x1522,x1523:new_primModNatS02(x1521, x1520, x1519, x1518)=Succ(x1522) & Zero=x1520 & x1521=x1519 & Zero=x1518 ==> new_quot(x1523, Neg(Succ(Succ(Succ(Succ(x1521))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1521))))))_>=_new_quot0(x1523, new_esEs1(Neg(new_primModNatS02(x1521, Zero, x1521, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1521, Zero, x1521, Zero)))) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1521))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1521))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1521, Zero, x1521, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1521, Zero, x1521, Zero)))) (8) (new_primModNatS01(x1525, x1524)=Succ(x1510) & Zero=x1524 & x1525=Zero & Zero=Zero ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1525))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1525))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1525, Zero, x1525, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1525, Zero, x1525, Zero)))) (9) (Succ(Succ(x1528))=Succ(x1510) & Zero=x1527 & x1528=Zero & Zero=Succ(x1526) ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(x1528))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1528))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(x1528, Zero, x1528, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1528, Zero, x1528, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Succ(x1515)=x1529 & new_primModNatS01(x1529, x1516)=Succ(x1510) & Zero=x1516 ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero)))) We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: (11) (Zero=x1536 & new_primModNatS01(x1536, x1524)=Succ(x1510) & Zero=x1524 ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1529, x1516)=Succ(x1510) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1531), Succ(x1530)), Succ(x1530))=Succ(x1510) & Succ(x1515)=x1531 & Zero=x1530 ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero)))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero)))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1536, x1524)=Succ(x1510) which results in the following new constraint: (14) (new_primModNatS1(new_primMinusNatS2(Succ(x1538), Succ(x1537)), Succ(x1537))=Succ(x1510) & Zero=x1538 & Zero=x1537 ==> new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: (15) (new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: *We consider the chain new_quot(x1213, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(x1213, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x1214, False, x1215, x1216) -> new_quot(x1214, x1215, x1216, x1215) which results in the following constraint: (1) (new_quot0(x1213, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x1214, False, x1215, x1216) ==> new_quot(x1213, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1213, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_quot(x1213, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1213, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) *(new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero)))) *(new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero)))) *(new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero)))) *(new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero)))) *(new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))))) *(new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))))) *(new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))))) *(new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))))) *(new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))))) *(new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))) *(new_quot0(x60, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_quot(x60, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Succ(Zero)))))) *(new_quot0(x65, False, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))))_>=_new_quot(x65, Neg(Succ(Succ(Succ(Succ(x69))))), Pos(Succ(Succ(Succ(Succ(x70))))), Neg(Succ(Succ(Succ(Succ(x69))))))) *(new_quot0(x71, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))))_>=_new_quot(x71, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x75))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_quot0(x76, False, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x76, Neg(Succ(Succ(Succ(Succ(x80))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x80))))))) *(new_quot0(x81, False, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x81, Neg(Succ(Succ(Succ(Succ(x85))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x85))))))) *(new_quot0(x86, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x86, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *(new_quot0(x90, False, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))))_>=_new_quot(x90, Neg(Succ(Succ(Succ(Succ(x94))))), Neg(Succ(Succ(Succ(Succ(x95))))), Neg(Succ(Succ(Succ(Succ(x94))))))) *(new_quot0(x96, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))))_>=_new_quot(x96, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x100))))), Neg(Succ(Succ(Succ(Zero)))))) *(new_quot0(x101, False, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x101, Neg(Succ(Succ(Succ(Succ(x105))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x105))))))) *(new_quot0(x106, False, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x106, Neg(Succ(Succ(Succ(Succ(x110))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x110))))))) *(new_quot0(x111, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x111, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_quot(x115, Pos(Succ(Zero)), Neg(Succ(Succ(x116))), Pos(Succ(Zero)))_>=_new_quot0(x115, False, Neg(Succ(Succ(x116))), Pos(Succ(Zero)))) *new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) *(new_quot(x164, Pos(Succ(Zero)), Pos(Succ(Succ(x165))), Pos(Succ(Zero)))_>=_new_quot0(x164, False, Pos(Succ(Succ(x165))), Pos(Succ(Zero)))) *new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_quot(x213, Neg(Succ(Zero)), Pos(Succ(Succ(x214))), Neg(Succ(Zero)))_>=_new_quot0(x213, False, Pos(Succ(Succ(x214))), Neg(Succ(Zero)))) *new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) *(new_quot(x262, Neg(Succ(Zero)), Neg(Succ(Succ(x263))), Neg(Succ(Zero)))_>=_new_quot0(x262, False, Neg(Succ(Succ(x263))), Neg(Succ(Zero)))) *new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_quot(x311, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x311, False, Neg(Succ(Succ(Succ(x312)))), Pos(Succ(Succ(Zero))))) *new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_quot(x360, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x360, False, Pos(Succ(Succ(Succ(x361)))), Pos(Succ(Succ(Zero))))) *new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_quot(x409, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x409, False, Pos(Succ(Succ(Succ(x410)))), Neg(Succ(Succ(Zero))))) *new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_quot(x458, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x458, False, Neg(Succ(Succ(Succ(x459)))), Neg(Succ(Succ(Zero))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1275))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1275)))), Succ(Zero), Succ(Succ(x1275)))))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255)))), Neg(Succ(Succ(Succ(Succ(Succ(x1255)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1255))), Zero, Succ(x1255))))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1244))), Succ(Succ(Zero)), Succ(x1244), Zero)))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1264))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1264)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1264)), Succ(Zero))))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1268))))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1267))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1268)))), Succ(Succ(Succ(Succ(x1267)))), Succ(Succ(x1268)), Succ(Succ(x1267)))))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x507, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x507, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_quot(x579, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x579, False, Neg(Succ(Succ(Succ(Succ(x580))))), Pos(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1320))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1320)))), Succ(Zero), Succ(Succ(x1320)))))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300)))), Pos(Succ(Succ(Succ(Succ(Succ(x1300)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1300))), Zero, Succ(x1300))))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1289)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1289))), Succ(Succ(Zero)), Succ(x1289), Zero)))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1309))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1309)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1309)), Succ(Zero))))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1313))))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1312))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1313)))), Succ(Succ(Succ(Succ(x1312)))), Succ(Succ(x1313)), Succ(Succ(x1312)))))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x628, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x628, new_esEs1(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_quot(x700, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x700, False, Pos(Succ(Succ(Succ(Succ(x701))))), Pos(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1365))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1365)))), Succ(Zero), Succ(Succ(x1365)))))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345)))), Pos(Succ(Succ(Succ(Succ(Succ(x1345)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1345))), Zero, Succ(x1345))))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1334)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1334))), Succ(Succ(Zero)), Succ(x1334), Zero)))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1354))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1354)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1354)), Succ(Zero))))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1358))))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1358)))), Succ(Succ(Succ(Succ(x1357)))), Succ(Succ(x1358)), Succ(Succ(x1357)))))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x749, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x749, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_quot(x821, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x821, False, Pos(Succ(Succ(Succ(Succ(x822))))), Neg(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x870, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x870, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1390))))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1390))))))))_>=_new_quot0(x870, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x1390))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1390))), Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x919, Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1408)))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1408), Zero, Succ(x1408), Zero)))) *(new_quot(x919, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x919, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_quot(x968, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x968, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1472))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1472)))), Succ(Zero), Succ(Succ(x1472)))))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452)))), Neg(Succ(Succ(Succ(Succ(Succ(x1452)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1452))), Zero, Succ(x1452))))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1441)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1441))), Succ(Succ(Zero)), Succ(x1441), Zero)))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1461))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1461)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1461)), Succ(Zero))))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1465))))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1464))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1465)))), Succ(Succ(Succ(Succ(x1464)))), Succ(Succ(x1465)), Succ(Succ(x1464)))))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_quot(x994, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x994, new_esEs1(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_quot(x1066, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1066, False, Neg(Succ(Succ(Succ(Succ(x1067))))), Neg(Succ(Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) *(new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) *(new_quot(x1115, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1497))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1497))))))))_>=_new_quot0(x1115, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x1497))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1497))), Succ(Succ(Zero)))))) *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x1515)))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1515), Zero, Succ(x1515), Zero)))) *(new_quot(x1164, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(x1164, new_esEs1(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) *(new_quot(x1213, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x1213, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (608) Obligation: Q DP problem: The TRS P consists of the following rules: new_quot0(vuz250, False, vuz56, vuz94) -> new_quot(vuz250, vuz56, vuz94, vuz56) new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot0(y0, new_esEs1(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs1(Neg(Zero)) -> True new_esEs1(Neg(Succ(vuz1700))) -> False new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs1(Pos(Zero)) -> True new_esEs1(Pos(Succ(vuz1700))) -> False The set Q consists of the following terms: new_primMinusNatS0(x0) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs1(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_esEs1(Pos(Succ(x0))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_esEs1(Neg(Succ(x0))) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs1(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (609) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz4500) -> Zero new_esEs(Pos(Zero)) -> True new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_error -> error([]) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_esEs(Neg(Succ(vuz1600))) -> False new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) new_esEs(Neg(Zero)) -> True new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_rem(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (610) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz46, vuz45)), vuz45, vuz46) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46),new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46)) ---------------------------------------- (611) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz4500) -> Zero new_esEs(Pos(Zero)) -> True new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_error -> error([]) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_esEs(Neg(Succ(vuz1600))) -> False new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) new_esEs(Neg(Zero)) -> True new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_rem(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (612) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)),new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45))) ---------------------------------------- (613) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primModNatS1(Zero, vuz4500) -> Zero new_esEs(Pos(Zero)) -> True new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_error -> error([]) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_esEs(Neg(Succ(vuz1600))) -> False new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) new_esEs(Neg(Zero)) -> True new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_rem(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (614) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (615) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_rem(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (616) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_rem(x0, x1) ---------------------------------------- (617) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (618) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (619) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (620) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) the following chains were created: *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_primRemInt(x5, x4)) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (new_primRemInt(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraints: (3) (False=False & new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) (4) (False=False & new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (3) using rules (I), (II) which results in the following new constraint: (5) (new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (4) using rules (I), (II) which results in the following new constraint: (6) (new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Pos(Succ(x13)) which results in the following new constraints: (7) (Pos(new_primModNatS1(x16, x15))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) (8) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) (9) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x19), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x19), Neg(Zero))), Neg(Zero), Neg(x19))) (10) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x22), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x22), Pos(Zero))), Pos(Zero), Pos(x22))) (11) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x25), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x25), Neg(Zero))), Neg(Zero), Pos(x25))) (12) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x26), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x26), Pos(Zero))), Pos(Zero), Neg(x26))) We simplified constraint (7) using rules (I), (II) which results in the following new constraint: (13) (new_primModNatS1(x16, x15)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) We simplified constraint (8) using rules (I), (II) which results in the following new constraint: (14) (new_primModNatS1(x18, x17)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) We solved constraint (9) using rule (V) (with possible (I) afterwards).We solved constraint (10) using rule (V) (with possible (I) afterwards).We solved constraint (11) using rule (V) (with possible (I) afterwards).We solved constraint (12) using rule (V) (with possible (I) afterwards).We simplified constraint (13) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x16, x15)=Succ(x13) which results in the following new constraints: (15) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (17) (new_primModNatS1(new_primMinusNatS0(x29), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) (18) (new_primModNatS02(x31, x30, x31, x30)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))), Neg(Succ(Succ(x30))), Pos(Succ(Succ(x31))))) We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: (21) (new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x18, x17)=Succ(x13) which results in the following new constraints: (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (25) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) (26) (new_primModNatS02(x42, x41, x42, x41)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Succ(x42))))) We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: (27) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: (28) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: (29) (new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: (30) (new_gcd0Gcd'0(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x2, x3)=Neg(Succ(x14)) which results in the following new constraints: (31) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x53), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x53), Neg(Zero))), Neg(Zero), Neg(x53))) (32) (Neg(new_primModNatS1(x55, x54))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x56), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x56), Pos(Zero))), Pos(Zero), Pos(x56))) (34) (Neg(new_primModNatS1(x58, x57))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x59), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x59), Neg(Zero))), Neg(Zero), Pos(x59))) (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x60), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x60), Pos(Zero))), Pos(Zero), Neg(x60))) We solved constraint (31) using rule (V) (with possible (I) afterwards).We simplified constraint (32) using rules (I), (II) which results in the following new constraint: (37) (new_primModNatS1(x55, x54)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) We solved constraint (33) using rule (V) (with possible (I) afterwards).We simplified constraint (34) using rules (I), (II) which results in the following new constraint: (38) (new_primModNatS1(x58, x57)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x55, x54)=Succ(x14) which results in the following new constraints: (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (41) (new_primModNatS1(new_primMinusNatS0(x63), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) (42) (new_primModNatS02(x65, x64, x65, x64)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))), Pos(Succ(Succ(x64))), Neg(Succ(Succ(x65))))) We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: (43) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: (44) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: (45) (new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: (46) (new_gcd0Gcd'0(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x58, x57)=Succ(x14) which results in the following new constraints: (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (49) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) (50) (new_primModNatS02(x76, x75, x76, x75)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))), Neg(Succ(Succ(x75))), Neg(Succ(Succ(x76))))) We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: (51) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: (52) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: (53) (new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: (54) (new_gcd0Gcd'0(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) For Pair new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: (1) (new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) *new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (621) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (622) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) ---------------------------------------- (623) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (624) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) ---------------------------------------- (625) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (626) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (627) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (628) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) ---------------------------------------- (629) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (630) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (631) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (632) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) ---------------------------------------- (633) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (634) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (635) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (636) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) ---------------------------------------- (637) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (638) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (639) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (640) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) at position [1] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) (new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) (new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) (new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) ---------------------------------------- (641) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (642) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. ---------------------------------------- (643) Complex Obligation (AND) ---------------------------------------- (644) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (645) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (646) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (647) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) ---------------------------------------- (648) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (649) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (650) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (651) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (652) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (653) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (654) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (655) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (656) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (657) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (658) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (659) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (660) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (661) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (662) Complex Obligation (AND) ---------------------------------------- (663) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (664) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (665) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (666) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) ---------------------------------------- (667) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (668) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (669) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (670) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (671) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (672) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (673) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (674) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (675) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (676) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (677) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (678) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (679) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (680) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (681) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (682) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (683) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (684) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (685) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (686) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (687) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (688) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (689) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (690) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (691) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (692) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (693) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (694) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (695) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (696) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (697) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (698) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (699) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Neg(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (700) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) ---------------------------------------- (701) YES ---------------------------------------- (702) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (703) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (704) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (705) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (706) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (707) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (708) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (709) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (710) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (711) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (712) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (713) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (714) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (715) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (716) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (717) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (718) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (719) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (720) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (721) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (722) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (723) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (724) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (725) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (726) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (727) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (728) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (729) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (730) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (731) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (732) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (733) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (734) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (735) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (736) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (737) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (738) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (739) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (740) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (741) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (742) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (743) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (744) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (745) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (746) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (747) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (748) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (749) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (750) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (751) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (752) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (753) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (754) Complex Obligation (AND) ---------------------------------------- (755) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (756) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (757) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (758) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (759) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (760) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (761) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (762) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (763) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (764) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (765) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (766) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) ---------------------------------------- (767) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (768) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (769) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (770) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Neg(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs(x_1)) = 0 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 POL(new_primMinusNatS2(x_1, x_2)) = 1 + x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) ---------------------------------------- (771) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (772) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (773) TRUE ---------------------------------------- (774) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (775) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (776) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (777) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (778) Complex Obligation (AND) ---------------------------------------- (779) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (780) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (781) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (782) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (783) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (784) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (785) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (786) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (787) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (788) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Pos(Succ(x0))) new_esEs(Pos(Zero)) ---------------------------------------- (789) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all (P,Q,R)-chains. ---------------------------------------- (790) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (x25=x28 & x24=x29 & new_primModNatS02(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS02(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x48=x51 & x47=x52 & new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x18)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x18)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (791) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (792) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (793) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Pos(Succ(x0))) new_esEs(Pos(Zero)) ---------------------------------------- (794) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all (P,Q,R)-chains. ---------------------------------------- (795) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x17))))), Neg(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x17))))), Neg(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x17)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(Succ(x56)))=x58 & Succ(Succ(Zero))=x57 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Neg(Succ(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), x60, x59))), Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Succ(Zero))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Succ(x56)))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x60)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Zero))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(Succ(x75))))=x77 & Succ(Succ(Succ(Zero)))=x76 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(Succ(x79))))=x81 & Succ(Succ(Succ(Succ(x78))))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x79)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(x79), Succ(x78)))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Succ(Zero)))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x56)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (796) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (797) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (798) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (799) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (800) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) ---------------------------------------- (801) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (802) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (803) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (804) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (805) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (806) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (807) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (808) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (809) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (810) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (811) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (812) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (813) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (814) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. ---------------------------------------- (815) Complex Obligation (AND) ---------------------------------------- (816) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (817) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (818) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (819) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) ---------------------------------------- (820) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (821) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (822) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (823) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (824) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (825) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (826) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (827) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (828) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (829) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (830) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (831) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (832) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (833) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (834) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (835) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (836) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (837) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (838) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (839) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (840) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (841) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (842) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (843) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (844) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (845) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (846) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (847) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (848) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (849) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (850) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (851) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (852) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_esEs(Pos(Succ(vuz1600))) -> False new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (853) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) ---------------------------------------- (854) YES ---------------------------------------- (855) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (856) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (857) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (858) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (859) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (860) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (861) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (862) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (863) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (864) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (865) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (866) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (867) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (868) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (869) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (870) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (871) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (872) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (873) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (874) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (875) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (876) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (877) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (878) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (879) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (880) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (881) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (882) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (883) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (884) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (885) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (886) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (887) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (888) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (889) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (890) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (891) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (892) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (893) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (894) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (895) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (896) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (897) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (898) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (899) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (900) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (901) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (902) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (903) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (904) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (905) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (906) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (907) Complex Obligation (AND) ---------------------------------------- (908) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (909) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (910) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (911) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (912) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (913) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (914) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (915) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (916) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (917) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (918) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (919) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) ---------------------------------------- (920) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (921) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (922) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (923) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(False) = 0 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL(True) = 3 POL(Zero) = 0 POL(new_esEs(x_1)) = 0 POL(new_gcd0Gcd'0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 POL(new_primMinusNatS2(x_1, x_2)) = 1 + x_1 POL(new_primModNatS01(x_1, x_2)) = 3 + x_1 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 3 + x_1 POL(new_primModNatS1(x_1, x_2)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) ---------------------------------------- (924) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (925) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (926) TRUE ---------------------------------------- (927) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (928) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (929) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (930) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (931) Complex Obligation (AND) ---------------------------------------- (932) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (933) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (934) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (935) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (936) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (937) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (938) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (939) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (940) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (941) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Neg(Succ(x0))) new_esEs(Neg(Zero)) ---------------------------------------- (942) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all (P,Q,R)-chains. ---------------------------------------- (943) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS02(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (x25=x28 & x24=x29 & new_primModNatS02(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (8) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (3) (new_primModNatS02(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x48=x51 & x47=x52 & new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x18)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x18)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (944) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (945) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (946) QReductionProof (EQUIVALENT) We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. new_esEs(Neg(Succ(x0))) new_esEs(Neg(Zero)) ---------------------------------------- (947) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all (P,Q,R)-chains. ---------------------------------------- (948) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x16 & Succ(Succ(Zero))=x15 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) (4) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 & (\/x21:new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x21)))) & Succ(Succ(x18))=x20 & Succ(Succ(x17))=x19 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x17))))), Pos(Succ(Succ(Succ(Succ(x18))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x17))))), Pos(new_primModNatS02(Succ(Succ(x18)), Succ(Succ(x17)), x18, x17)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) (5) (new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x16, x15)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x14)))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x18)))=x20 & Succ(Succ(Succ(x17)))=x19 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(Succ(Succ(Succ(Succ(Succ(x18)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x17)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x18))), Succ(Succ(Succ(x17))), Succ(x18), Succ(x17))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x23, x22)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x20, x19, x18, x17)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x35, x34)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x33))))=x35 & Succ(Succ(Succ(Zero)))=x34 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) (13) (new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x37))))=x39 & Succ(Succ(Succ(Succ(x36))))=x38 & (\/x40:new_primModNatS02(x39, x38, x37, x36)=Succ(Succ(Succ(Succ(x40)))) & Succ(Succ(Succ(x37)))=x39 & Succ(Succ(Succ(x36)))=x38 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Succ(Succ(x37)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x37))), Succ(Succ(Succ(x36))), Succ(x37), Succ(x36))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) (14) (new_primModNatS01(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS02(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS02(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x54, x55, x6, x7)=Succ(x53) which results in the following new constraints: (5) (new_primModNatS01(x58, x57)=Succ(x53) & Succ(Succ(Succ(x56)))=x58 & Succ(Succ(Zero))=x57 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) (6) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 & (\/x63:new_primModNatS02(x62, x61, x60, x59)=Succ(x63) & Succ(Succ(x60))=x62 & Succ(Succ(x59))=x61 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Succ(Succ(x59))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x60)), Succ(Succ(x59)), x60, x59))), Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) (7) (new_primModNatS01(x65, x64)=Succ(x53) & Succ(Succ(Zero))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x58, x57)=Succ(x53) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Succ(x56)))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (6) using rule (IV) which results in the following new constraint: (10) (new_primModNatS02(x62, x61, x60, x59)=Succ(x53) & Succ(Succ(Succ(x60)))=x62 & Succ(Succ(Succ(x59)))=x61 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x60)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x60))), Succ(Succ(Succ(x59))), Succ(x60), Succ(x59)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x60)))))))) We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x65, x64)=Succ(x53) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Zero))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x62, x61, x60, x59)=Succ(x53) which results in the following new constraints: (14) (new_primModNatS01(x77, x76)=Succ(x53) & Succ(Succ(Succ(Succ(x75))))=x77 & Succ(Succ(Succ(Zero)))=x76 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) (15) (new_primModNatS02(x81, x80, x79, x78)=Succ(x53) & Succ(Succ(Succ(Succ(x79))))=x81 & Succ(Succ(Succ(Succ(x78))))=x80 & (\/x82:new_primModNatS02(x81, x80, x79, x78)=Succ(x82) & Succ(Succ(Succ(x79)))=x81 & Succ(Succ(Succ(x78)))=x80 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x79)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x79))), Succ(Succ(Succ(x78))), Succ(x79), Succ(x78)))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x79)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) (16) (new_primModNatS01(x84, x83)=Succ(x53) & Succ(Succ(Succ(Zero)))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x14)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x14))), Succ(Succ(Zero)), Succ(x14), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x33)))), Succ(Succ(Succ(Zero))), Succ(Succ(x33)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x37))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x37)))), Succ(Succ(Succ(Succ(x36)))), Succ(Succ(x37)), Succ(Succ(x36)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x56)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x56))), Succ(Succ(Zero)), Succ(x56), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x56)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x75)))), Succ(Succ(Succ(Zero))), Succ(Succ(x75)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x75))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x79)))), Succ(Succ(Succ(Succ(x78)))), Succ(Succ(x79)), Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x79))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (949) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (950) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error new_error -> error([]) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (951) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (952) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primRemInt(Neg(x0), Neg(Zero)) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primRemInt(Pos(x0), Pos(Zero)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (953) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primRemInt(Neg(x0), Neg(Succ(x1))) new_error new_primRemInt(Pos(x0), Neg(Zero)) new_primRemInt(Neg(x0), Pos(Zero)) new_primRemInt(Pos(x0), Pos(Succ(x1))) new_primRemInt(Neg(x0), Neg(Zero)) new_primRemInt(Pos(x0), Pos(Zero)) new_primRemInt(Pos(x0), Neg(Succ(x1))) new_primRemInt(Neg(x0), Pos(Succ(x1))) ---------------------------------------- (954) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (955) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (956) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (957) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (958) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (959) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (960) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (961) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (962) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (963) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (964) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (965) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) ---------------------------------------- (966) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (967) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (968) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (969) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) ---------------------------------------- (970) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (971) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) ---------------------------------------- (972) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (973) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) ---------------------------------------- (974) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (975) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (976) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (977) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) ---------------------------------------- (978) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (979) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) ---------------------------------------- (980) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (981) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (982) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (983) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) ---------------------------------------- (984) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (985) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (986) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (987) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (988) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (989) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (990) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (991) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (992) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (993) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (994) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (995) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (996) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (997) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (998) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (999) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (1000) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1001) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1002) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1003) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) ---------------------------------------- (1004) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1005) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. ---------------------------------------- (1006) Complex Obligation (AND) ---------------------------------------- (1007) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1008) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1009) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1010) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) ---------------------------------------- (1011) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1012) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1013) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1014) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (1015) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1016) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1017) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1018) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1019) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1020) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1021) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1022) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1023) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1024) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1025) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1026) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1027) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1028) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) ---------------------------------------- (1029) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1030) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1031) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1032) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1033) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1034) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1035) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1036) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1037) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1038) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1039) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1040) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) ---------------------------------------- (1041) YES ---------------------------------------- (1042) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1043) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1044) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1045) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_primMinusNatS2(Zero, Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) ---------------------------------------- (1046) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1047) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1048) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1049) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1050) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1051) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1052) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1053) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) ---------------------------------------- (1054) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1055) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1056) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1057) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1058) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1059) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1060) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1061) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1062) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1063) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1064) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1065) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1066) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1067) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1068) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1069) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1070) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1071) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1072) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1073) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1074) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1075) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) ---------------------------------------- (1076) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1077) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1078) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1079) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) ---------------------------------------- (1080) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primMinusNatS1 -> Zero new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS1 new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS1(Zero, x0) new_esEs(Neg(Zero)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1081) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(False) = 1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 1 POL(new_primModNatS1(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) The graph contains the following edges 2 >= 2, 1 >= 3 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 > 2 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 2 >= 1, 3 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) ---------------------------------------- (1082) YES ---------------------------------------- (1083) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS0(vuz18000) -> Succ(vuz18000) new_primMinusNatS1 -> Zero new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1084) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1085) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_primMinusNatS0(x0) new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1086) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_primMinusNatS0(x0) new_primMinusNatS1 ---------------------------------------- (1087) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1088) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1089) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1090) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1091) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1092) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1093) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1094) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1095) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1096) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1097) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1098) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1099) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1100) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1101) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1102) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (1103) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1104) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) ---------------------------------------- (1105) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1106) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1107) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1108) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1109) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1110) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (1111) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1112) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) ---------------------------------------- (1113) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1114) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) ---------------------------------------- (1115) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1116) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) ---------------------------------------- (1117) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1118) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) ---------------------------------------- (1119) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1120) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) ---------------------------------------- (1121) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1122) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1123) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1124) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1125) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1126) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1127) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1128) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1129) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1130) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) ---------------------------------------- (1131) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1132) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1133) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1134) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1135) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1136) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (1137) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1138) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1139) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1140) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1141) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1142) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1143) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1144) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (1145) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1146) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (1147) Complex Obligation (AND) ---------------------------------------- (1148) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1149) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1150) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1151) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1152) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1153) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1154) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1155) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) ---------------------------------------- (1156) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1157) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) ---------------------------------------- (1158) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1159) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1160) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1161) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) ---------------------------------------- (1162) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1163) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1164) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1165) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x2, Zero, x2, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(x1, Zero, x1, Zero))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS02(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS02(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1, x22, x23, x24)=Succ(x21) which results in the following new constraints: (5) (new_primModNatS01(x27, x26)=Succ(x21) & Zero=x26 & x27=Succ(x25) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x27))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x27, Zero, x27, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x27))))))) (6) (new_primModNatS02(x31, x30, x29, x28)=Succ(x21) & Zero=x30 & x31=Succ(x29) & Zero=Succ(x28) & (\/x32:new_primModNatS02(x31, x30, x29, x28)=Succ(x32) & Zero=x30 & x31=x29 & Zero=x28 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x31, Zero, x31, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x31))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x31, Zero, x31, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x31))))))) (7) (new_primModNatS01(x34, x33)=Succ(x21) & Zero=x33 & x34=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Succ(x25)=x38 & new_primModNatS01(x38, x26)=Succ(x21) & Zero=x26 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Zero=x45 & new_primModNatS01(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x38, x26)=Succ(x21) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Succ(x25)=x40 & Zero=x39 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x45, x33)=Succ(x21) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Zero=x47 & Zero=x46 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero))), new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))=new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS02(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x7, Zero, x7, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) which results in the following new constraints: (3) (new_primModNatS01(x57, x56)=Succ(Succ(Succ(x8))) & Zero=x56 & x57=Succ(x55) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x57))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x57, Zero, x57, Zero)))) (4) (new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x8))) & Zero=x60 & x61=Succ(x59) & Zero=Succ(x58) & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(Succ(Succ(x62))) & Zero=x60 & x61=x59 & Zero=x58 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x61, Zero, x61, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x61))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x61, Zero, x61, Zero)))) (5) (new_primModNatS01(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x64, Zero, x64, Zero)))) (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x67, Zero, x67, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x55)=x68 & new_primModNatS01(x68, x56)=Succ(Succ(Succ(x8))) & Zero=x56 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x75 & new_primModNatS01(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x68, x56)=Succ(Succ(Succ(x8))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Succ(x55)=x70 & Zero=x69 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x75, x63)=Succ(Succ(Succ(x8))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x25), Zero, Succ(x25), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1166) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1167) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1168) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1169) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1170) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) ---------------------------------------- (1171) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1172) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1173) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1174) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero))), new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))=new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x3, Zero, x3, Zero)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) which results in the following new constraints: (3) (new_primModNatS01(x25, x24)=Succ(Succ(Succ(x4))) & Zero=x24 & x25=Succ(x23) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x25))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x25, Zero, x25, Zero)))) (4) (new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x4))) & Zero=x28 & x29=Succ(x27) & Zero=Succ(x26) & (\/x30:new_primModNatS02(x29, x28, x27, x26)=Succ(Succ(Succ(x30))) & Zero=x28 & x29=x27 & Zero=x26 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x29))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x29, Zero, x29, Zero)))) (5) (new_primModNatS01(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x32, Zero, x32, Zero)))) (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x35, Zero, x35, Zero)))) We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: (7) (Succ(x23)=x36 & new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) & Zero=x24 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (Zero=x43 & new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x36, x24)=Succ(Succ(Succ(x4))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Succ(x23)=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x43, x31)=Succ(Succ(Succ(x4))) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Zero=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x11, Zero, x11, Zero))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(x10, Zero, x10, Zero))=x50 & new_esEs(x50)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x50)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS02(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS02(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x10, x52, x53, x54)=Succ(x51) which results in the following new constraints: (5) (new_primModNatS01(x57, x56)=Succ(x51) & Zero=x56 & x57=Succ(x55) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x57))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x57, Zero, x57, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x57))))))) (6) (new_primModNatS02(x61, x60, x59, x58)=Succ(x51) & Zero=x60 & x61=Succ(x59) & Zero=Succ(x58) & (\/x62:new_primModNatS02(x61, x60, x59, x58)=Succ(x62) & Zero=x60 & x61=x59 & Zero=x58 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x61, Zero, x61, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x61))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x61, Zero, x61, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x61))))))) (7) (new_primModNatS01(x64, x63)=Succ(x51) & Zero=x63 & x64=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: (9) (Succ(x55)=x68 & new_primModNatS01(x68, x56)=Succ(x51) & Zero=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (VII) which results in the following new constraint: (10) (Zero=x75 & new_primModNatS01(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x68, x56)=Succ(x51) which results in the following new constraint: (11) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Succ(x55)=x70 & Zero=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x75, x63)=Succ(x51) which results in the following new constraint: (13) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Zero=x77 & Zero=x76 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x23)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x23), Zero, Succ(x23), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x55)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x55), Zero, Succ(x55), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1175) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) The TRS R consists of the following rules: new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1176) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1177) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1178) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1179) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1180) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1181) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1182) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1183) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1184) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1185) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1186) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1187) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1188) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1189) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1190) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1191) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1192) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1193) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1194) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1195) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1196) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1197) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1198) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1199) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1200) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1201) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1202) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1203) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (1204) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1205) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1206) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1207) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1208) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1209) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1210) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1211) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1212) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1213) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) ---------------------------------------- (1214) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1215) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) ---------------------------------------- (1216) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1217) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. ---------------------------------------- (1218) Complex Obligation (AND) ---------------------------------------- (1219) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1220) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1221) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1222) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) ---------------------------------------- (1223) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1224) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) ---------------------------------------- (1225) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1226) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) ---------------------------------------- (1227) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1228) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) ---------------------------------------- (1229) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1230) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: (3) (False=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) (6) (new_primModNatS02(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x26=x28 & x25=x29 & new_primModNatS02(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x26)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x26)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x32)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x36)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x49=x51 & x48=x52 & new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x16)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x16)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1231) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1232) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1233) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (1234) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1235) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: (3) (False=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) (6) (new_primModNatS02(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: (7) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: (8) (x26=x28 & x25=x29 & new_primModNatS02(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x26, x25, x28, x29)=Succ(x21) which results in the following new constraints: (9) (new_primModNatS01(x32, x31)=Succ(x21) & x32=Succ(x30) & x31=Zero & Succ(Zero)=x31 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x32)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) (10) (new_primModNatS02(x36, x35, x34, x33)=Succ(x21) & x36=Succ(x34) & x35=Succ(x33) & Succ(Zero)=x35 & (\/x37:new_primModNatS02(x36, x35, x34, x33)=Succ(x37) & x36=x34 & x35=x33 & Succ(Zero)=x35 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x36)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x36)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))) (11) (new_primModNatS01(x39, x38)=Succ(x21) & x39=Zero & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) (4) (new_primModNatS02(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (III), (VII) which results in the following new constraint: (5) (x49=x51 & x48=x52 & new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) which results in the following new constraints: (6) (new_primModNatS01(x55, x54)=Succ(Succ(Succ(Succ(x16)))) & x55=Succ(x53) & x54=Zero & Succ(Zero)=x54 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x55)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x55)), Succ(Succ(Zero)))))) (7) (new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x16)))) & x59=Succ(x57) & x58=Succ(x56) & Succ(Zero)=x58 & (\/x60:new_primModNatS02(x59, x58, x57, x56)=Succ(Succ(Succ(Succ(x60)))) & x59=x57 & x58=x56 & Succ(Zero)=x58 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x59)), Succ(Succ(Zero)))))) (8) (new_primModNatS01(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Zero & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x34))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x34))))))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x57))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x57))), Succ(Succ(Zero)))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1236) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1237) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1238) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (3) (new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x44 & Succ(Succ(Zero))=x43 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) (4) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 & (\/x49:new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x49)))) & Succ(Succ(x46))=x48 & Succ(Succ(x45))=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x45))))), Neg(Succ(Succ(Succ(Succ(x46))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x45))))), Neg(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x45)), x46, x45)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) (5) (new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x44, x43)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x42)))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x46)))=x48 & Succ(Succ(Succ(x45)))=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(Succ(Succ(Succ(Succ(Succ(x46)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x45)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x46))), Succ(Succ(Succ(x45))), Succ(x46), Succ(x45))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x51, x50)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x48, x47, x46, x45)=Succ(Succ(Succ(Succ(x5)))) which results in the following new constraints: (12) (new_primModNatS01(x63, x62)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x61))))=x63 & Succ(Succ(Succ(Zero)))=x62 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) (13) (new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x65))))=x67 & Succ(Succ(Succ(Succ(x64))))=x66 & (\/x68:new_primModNatS02(x67, x66, x65, x64)=Succ(Succ(Succ(Succ(x68)))) & Succ(Succ(Succ(x65)))=x67 & Succ(Succ(Succ(x64)))=x66 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x64)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x65))), Succ(Succ(Succ(x64))), Succ(x65), Succ(x64))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) (14) (new_primModNatS01(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS02(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs(x80)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x80)=False which results in the following new constraints: (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS02(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x83, x84, x14, x15)=Succ(x81) which results in the following new constraints: (6) (new_primModNatS01(x87, x86)=Succ(x81) & Succ(Succ(Succ(x85)))=x87 & Succ(Succ(Zero))=x86 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) (7) (new_primModNatS02(x91, x90, x89, x88)=Succ(x81) & Succ(Succ(Succ(x89)))=x91 & Succ(Succ(Succ(x88)))=x90 & (\/x92:new_primModNatS02(x91, x90, x89, x88)=Succ(x92) & Succ(Succ(x89))=x91 & Succ(Succ(x88))=x90 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x89))))), Neg(Succ(Succ(Succ(Succ(x88))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x89)), Succ(Succ(x88)), x89, x88))), Neg(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Succ(Succ(x89))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x89)))))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x89))), Succ(Succ(Succ(x88))), Succ(x89), Succ(x88)))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))), Pos(Succ(Succ(Succ(Succ(Succ(x89)))))))) (8) (new_primModNatS01(x94, x93)=Succ(x81) & Succ(Succ(Zero))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x87, x86)=Succ(x81) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Succ(x85)))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x91, x90, x89, x88)=Succ(x81) & Succ(Succ(Succ(x89)))=x91 & Succ(Succ(Succ(x88)))=x90 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x89)))))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x89))), Succ(Succ(Succ(x88))), Succ(x89), Succ(x88)))), Neg(Succ(Succ(Succ(Succ(Succ(x88)))))), Pos(Succ(Succ(Succ(Succ(Succ(x89)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x94, x93)=Succ(x81) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Zero))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x91, x90, x89, x88)=Succ(x81) which results in the following new constraints: (15) (new_primModNatS01(x106, x105)=Succ(x81) & Succ(Succ(Succ(Succ(x104))))=x106 & Succ(Succ(Succ(Zero)))=x105 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) (16) (new_primModNatS02(x110, x109, x108, x107)=Succ(x81) & Succ(Succ(Succ(Succ(x108))))=x110 & Succ(Succ(Succ(Succ(x107))))=x109 & (\/x111:new_primModNatS02(x110, x109, x108, x107)=Succ(x111) & Succ(Succ(Succ(x108)))=x110 & Succ(Succ(Succ(x107)))=x109 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x108)))))), Neg(Succ(Succ(Succ(Succ(Succ(x107)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x108))), Succ(Succ(Succ(x107))), Succ(x108), Succ(x107)))), Neg(Succ(Succ(Succ(Succ(Succ(x107)))))), Pos(Succ(Succ(Succ(Succ(Succ(x108)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) (17) (new_primModNatS01(x113, x112)=Succ(x81) & Succ(Succ(Succ(Zero)))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS02(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS02(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (3) (new_primModNatS01(x127, x126)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x125)))=x127 & Succ(Succ(Zero))=x126 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) (4) (new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x129)))=x131 & Succ(Succ(Succ(x128)))=x130 & (\/x132:new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x132)))) & Succ(Succ(x129))=x131 & Succ(Succ(x128))=x130 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x128))))), Pos(Succ(Succ(Succ(Succ(x129))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x128))))), Pos(new_primModNatS02(Succ(Succ(x129)), Succ(Succ(x128)), x129, x128)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(Succ(Succ(Succ(Succ(Succ(x129)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x129))), Succ(Succ(Succ(x128))), Succ(x129), Succ(x128))))) (5) (new_primModNatS01(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x127, x126)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (7) (new_primModNatS1(new_primMinusNatS2(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x125)))=x139 & Succ(Succ(Zero))=x138 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) We simplified constraint (4) using rule (IV) which results in the following new constraint: (8) (new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x129)))=x131 & Succ(Succ(Succ(x128)))=x130 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(Succ(Succ(Succ(Succ(Succ(x129)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x128)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x129))), Succ(Succ(Succ(x128))), Succ(x129), Succ(x128))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x134, x133)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraint: (9) (new_primModNatS1(new_primMinusNatS2(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x131, x130, x129, x128)=Succ(Succ(Succ(Succ(x29)))) which results in the following new constraints: (12) (new_primModNatS01(x146, x145)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x144))))=x146 & Succ(Succ(Succ(Zero)))=x145 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) (13) (new_primModNatS02(x150, x149, x148, x147)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x148))))=x150 & Succ(Succ(Succ(Succ(x147))))=x149 & (\/x151:new_primModNatS02(x150, x149, x148, x147)=Succ(Succ(Succ(Succ(x151)))) & Succ(Succ(Succ(x148)))=x150 & Succ(Succ(Succ(x147)))=x149 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x147)))))), Pos(Succ(Succ(Succ(Succ(Succ(x148)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x147)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x148))), Succ(Succ(Succ(x147))), Succ(x148), Succ(x147))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) (14) (new_primModNatS01(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS02(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: (2) (Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_esEs(x163)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x163)=False which results in the following new constraints: (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS02(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x166, x167, x30, x31)=Succ(x165) which results in the following new constraints: (6) (new_primModNatS01(x170, x169)=Succ(x165) & Succ(Succ(Succ(x168)))=x170 & Succ(Succ(Zero))=x169 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) (7) (new_primModNatS02(x174, x173, x172, x171)=Succ(x165) & Succ(Succ(Succ(x172)))=x174 & Succ(Succ(Succ(x171)))=x173 & (\/x175:new_primModNatS02(x174, x173, x172, x171)=Succ(x175) & Succ(Succ(x172))=x174 & Succ(Succ(x171))=x173 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x172))))), Pos(Succ(Succ(Succ(Succ(x171))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x172)), Succ(Succ(x171)), x172, x171))), Pos(Succ(Succ(Succ(Succ(x171))))), Neg(Succ(Succ(Succ(Succ(x172))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Succ(x171))), Succ(x172), Succ(x171)))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) (8) (new_primModNatS01(x177, x176)=Succ(x165) & Succ(Succ(Zero))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x170, x169)=Succ(x165) which results in the following new constraint: (10) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Succ(x168)))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) We simplified constraint (7) using rule (IV) which results in the following new constraint: (11) (new_primModNatS02(x174, x173, x172, x171)=Succ(x165) & Succ(Succ(Succ(x172)))=x174 & Succ(Succ(Succ(x171)))=x173 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x172)))))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x172))), Succ(Succ(Succ(x171))), Succ(x172), Succ(x171)))), Pos(Succ(Succ(Succ(Succ(Succ(x171)))))), Neg(Succ(Succ(Succ(Succ(Succ(x172)))))))) We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x177, x176)=Succ(x165) which results in the following new constraint: (12) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Zero))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x174, x173, x172, x171)=Succ(x165) which results in the following new constraints: (15) (new_primModNatS01(x189, x188)=Succ(x165) & Succ(Succ(Succ(Succ(x187))))=x189 & Succ(Succ(Succ(Zero)))=x188 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) (16) (new_primModNatS02(x193, x192, x191, x190)=Succ(x165) & Succ(Succ(Succ(Succ(x191))))=x193 & Succ(Succ(Succ(Succ(x190))))=x192 & (\/x194:new_primModNatS02(x193, x192, x191, x190)=Succ(x194) & Succ(Succ(Succ(x191)))=x193 & Succ(Succ(Succ(x190)))=x192 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x191)))))), Pos(Succ(Succ(Succ(Succ(Succ(x190)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x191))), Succ(Succ(Succ(x190))), Succ(x191), Succ(x190)))), Pos(Succ(Succ(Succ(Succ(Succ(x190)))))), Neg(Succ(Succ(Succ(Succ(Succ(x191)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) (17) (new_primModNatS01(x196, x195)=Succ(x165) & Succ(Succ(Succ(Zero)))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x42))), Succ(Succ(Zero)), Succ(x42), Zero)))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x61))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x61)))), Succ(Succ(Succ(Zero))), Succ(Succ(x61)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x65))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x65)))), Succ(Succ(Succ(Succ(x64)))), Succ(Succ(x65)), Succ(Succ(x64)))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x85)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(x85))), Succ(Succ(Zero)), Succ(x85), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x85)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x104)))), Succ(Succ(Succ(Zero))), Succ(Succ(x104)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x104))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x108)))), Succ(Succ(Succ(Succ(x107)))), Succ(Succ(x108)), Succ(Succ(x107))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x108))))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x125)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x125))), Succ(Succ(Zero)), Succ(x125), Zero)))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x144))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x144)))), Succ(Succ(Succ(Zero))), Succ(Succ(x144)), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x148))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x148)))), Succ(Succ(Succ(Succ(x147)))), Succ(Succ(x148)), Succ(Succ(x147)))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x168)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(x168))), Succ(Succ(Zero)), Succ(x168), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x168)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x187)))), Succ(Succ(Succ(Zero))), Succ(Succ(x187)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x187))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x191)))), Succ(Succ(Succ(Succ(x190)))), Succ(Succ(x191)), Succ(Succ(x190))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x191))))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (1239) Obligation: Q DP problem: The TRS P consists of the following rules: new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) The TRS R consists of the following rules: new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS02(vuz46000, vuz45000, vuz46000, vuz45000) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS01(vuz107, vuz108) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz107), Succ(vuz108)), Succ(vuz108)) new_primModNatS02(vuz107, vuz108, Succ(vuz1090), Succ(vuz1100)) -> new_primModNatS02(vuz107, vuz108, vuz1090, vuz1100) new_primModNatS02(vuz107, vuz108, Zero, Zero) -> new_primModNatS01(vuz107, vuz108) new_primModNatS02(vuz107, vuz108, Zero, Succ(vuz1100)) -> Succ(Succ(vuz107)) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primModNatS1(Zero, vuz4500) -> Zero new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_esEs(Pos(Succ(vuz1600))) -> False new_esEs(Pos(Zero)) -> True new_esEs(Neg(Succ(vuz1600))) -> False new_esEs(Neg(Zero)) -> True The set Q consists of the following terms: new_esEs(Pos(Succ(x0))) new_primModNatS1(Succ(Zero), Succ(x0)) new_primMinusNatS2(Zero, Succ(x0)) new_primModNatS02(x0, x1, Succ(x2), Zero) new_esEs(Neg(Succ(x0))) new_primModNatS1(Succ(Succ(x0)), Succ(x1)) new_primMinusNatS2(Zero, Zero) new_primModNatS1(Succ(Zero), Zero) new_esEs(Pos(Zero)) new_primModNatS1(Succ(Succ(x0)), Zero) new_primModNatS02(x0, x1, Zero, Zero) new_primModNatS1(Zero, x0) new_primModNatS01(x0, x1) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primModNatS02(x0, x1, Zero, Succ(x2)) new_esEs(Neg(Zero)) new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1240) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz18000)), Succ(vuz38000)) -> new_primDivNatS0(vuz18000, vuz38000, vuz18000, vuz38000) new_primDivNatS0(vuz77, vuz78, Zero, Zero) -> new_primDivNatS00(vuz77, vuz78) new_primDivNatS(Succ(Succ(vuz18000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz18000), Zero) new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Succ(vuz800)) -> new_primDivNatS0(vuz77, vuz78, vuz790, vuz800) new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) new_primDivNatS00(vuz77, vuz78) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1241) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. ---------------------------------------- (1242) Complex Obligation (AND) ---------------------------------------- (1243) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS(Succ(Succ(vuz18000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz18000), Zero) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1244) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_primDivNatS(Succ(Succ(vuz18000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz18000), Zero) Strictly oriented rules of the TRS R: new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 2 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 POL(new_primMinusNatS0(x_1)) = 1 + x_1 POL(new_primMinusNatS1) = 2 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 ---------------------------------------- (1245) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1246) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (1247) YES ---------------------------------------- (1248) Obligation: Q DP problem: The TRS P consists of the following rules: new_primDivNatS0(vuz77, vuz78, Zero, Zero) -> new_primDivNatS00(vuz77, vuz78) new_primDivNatS00(vuz77, vuz78) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) new_primDivNatS(Succ(Succ(vuz18000)), Succ(vuz38000)) -> new_primDivNatS0(vuz18000, vuz38000, vuz18000, vuz38000) new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Succ(vuz800)) -> new_primDivNatS0(vuz77, vuz78, vuz790, vuz800) new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) The TRS R consists of the following rules: new_primMinusNatS1 -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS0(vuz18000) -> Succ(vuz18000) The set Q consists of the following terms: new_primMinusNatS0(x0) new_primMinusNatS2(Zero, Zero) new_primMinusNatS2(Succ(x0), Succ(x1)) new_primMinusNatS2(Zero, Succ(x0)) new_primMinusNatS1 new_primMinusNatS2(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1249) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primMinusNatS2(x_1, x_2)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_primDivNatS00(vuz77, vuz78) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 *new_primDivNatS(Succ(Succ(vuz18000)), Succ(vuz38000)) -> new_primDivNatS0(vuz18000, vuz38000, vuz18000, vuz38000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Succ(vuz800)) -> new_primDivNatS0(vuz77, vuz78, vuz790, vuz800) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_primDivNatS0(vuz77, vuz78, Zero, Zero) -> new_primDivNatS00(vuz77, vuz78) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_primDivNatS0(vuz77, vuz78, Succ(vuz790), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz77, vuz78), Succ(vuz78)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primMinusNatS2(Zero, Zero) -> Zero new_primMinusNatS2(Zero, Succ(vuz780)) -> Zero new_primMinusNatS2(Succ(vuz770), Zero) -> Succ(vuz770) new_primMinusNatS2(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS2(vuz770, vuz780) ---------------------------------------- (1250) YES ---------------------------------------- (1251) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1252) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (1253) YES ---------------------------------------- (1254) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNatS(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS(vuz770, vuz780) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1255) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMinusNatS(Succ(vuz770), Succ(vuz780)) -> new_primMinusNatS(vuz770, vuz780) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (1256) YES ---------------------------------------- (1257) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1258) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (1259) YES ---------------------------------------- (1260) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (1261) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (1262) YES ---------------------------------------- (1263) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="(+)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="(+) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="(+) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1355[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1355[label="",style="solid", color="blue", weight=9]; 1355 -> 5[label="",style="solid", color="blue", weight=3]; 1356[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1356[label="",style="solid", color="blue", weight=9]; 1356 -> 6[label="",style="solid", color="blue", weight=3]; 1357[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1357[label="",style="solid", color="blue", weight=9]; 1357 -> 7[label="",style="solid", color="blue", weight=3]; 1358[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1358[label="",style="solid", color="blue", weight=9]; 1358 -> 8[label="",style="solid", color="blue", weight=3]; 1359[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1359[label="",style="solid", color="blue", weight=9]; 1359 -> 9[label="",style="solid", color="blue", weight=3]; 5[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1360[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];5 -> 1360[label="",style="solid", color="burlywood", weight=9]; 1360 -> 10[label="",style="solid", color="burlywood", weight=3]; 6[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];6 -> 11[label="",style="solid", color="black", weight=3]; 7[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 8[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1361[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];8 -> 1361[label="",style="solid", color="burlywood", weight=9]; 1361 -> 13[label="",style="solid", color="burlywood", weight=3]; 9[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];9 -> 14[label="",style="solid", color="black", weight=3]; 10[label="(+) vuz30 :% vuz31 vuz4",fontsize=16,color="burlywood",shape="box"];1362[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];10 -> 1362[label="",style="solid", color="burlywood", weight=9]; 1362 -> 15[label="",style="solid", color="burlywood", weight=3]; 11[label="primPlusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1363[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];11 -> 1363[label="",style="solid", color="burlywood", weight=9]; 1363 -> 16[label="",style="solid", color="burlywood", weight=3]; 12[label="primPlusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1364[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1364[label="",style="solid", color="burlywood", weight=9]; 1364 -> 17[label="",style="solid", color="burlywood", weight=3]; 13[label="(+) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1365[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];13 -> 1365[label="",style="solid", color="burlywood", weight=9]; 1365 -> 18[label="",style="solid", color="burlywood", weight=3]; 14[label="primPlusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1366[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1366[label="",style="solid", color="burlywood", weight=9]; 1366 -> 19[label="",style="solid", color="burlywood", weight=3]; 1367[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];14 -> 1367[label="",style="solid", color="burlywood", weight=9]; 1367 -> 20[label="",style="solid", color="burlywood", weight=3]; 15[label="(+) vuz30 :% vuz31 vuz40 :% vuz41",fontsize=16,color="black",shape="box"];15 -> 21[label="",style="solid", color="black", weight=3]; 16[label="primPlusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1368[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];16 -> 1368[label="",style="solid", color="burlywood", weight=9]; 1368 -> 22[label="",style="solid", color="burlywood", weight=3]; 17[label="primPlusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1369[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];17 -> 1369[label="",style="solid", color="burlywood", weight=9]; 1369 -> 23[label="",style="solid", color="burlywood", weight=3]; 18[label="(+) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];18 -> 24[label="",style="solid", color="black", weight=3]; 19[label="primPlusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1370[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];19 -> 1370[label="",style="solid", color="burlywood", weight=9]; 1370 -> 25[label="",style="solid", color="burlywood", weight=3]; 1371[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];19 -> 1371[label="",style="solid", color="burlywood", weight=9]; 1371 -> 26[label="",style="solid", color="burlywood", weight=3]; 20[label="primPlusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1372[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];20 -> 1372[label="",style="solid", color="burlywood", weight=9]; 1372 -> 27[label="",style="solid", color="burlywood", weight=3]; 1373[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];20 -> 1373[label="",style="solid", color="burlywood", weight=9]; 1373 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="reduce (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="primPlusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="primPlusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="Integer (primPlusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];24 -> 32[label="",style="dashed", color="green", weight=3]; 25[label="primPlusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 26[label="primPlusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="primPlusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 28[label="primPlusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="reduce2 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30[label="Float (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];30 -> 38[label="",style="dashed", color="green", weight=3]; 30 -> 39[label="",style="dashed", color="green", weight=3]; 31[label="Double (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];31 -> 40[label="",style="dashed", color="green", weight=3]; 31 -> 41[label="",style="dashed", color="green", weight=3]; 32 -> 14[label="",style="dashed", color="red", weight=0]; 32[label="primPlusInt vuz30 vuz40",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 33[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 34[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1374[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];34 -> 1374[label="",style="solid", color="burlywood", weight=9]; 1374 -> 45[label="",style="solid", color="burlywood", weight=3]; 1375[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 1375[label="",style="solid", color="burlywood", weight=9]; 1375 -> 46[label="",style="solid", color="burlywood", weight=3]; 35 -> 34[label="",style="dashed", color="red", weight=0]; 35[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];35 -> 47[label="",style="dashed", color="magenta", weight=3]; 35 -> 48[label="",style="dashed", color="magenta", weight=3]; 36[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];36 -> 49[label="",style="dashed", color="green", weight=3]; 37 -> 50[label="",style="dashed", color="red", weight=0]; 37[label="reduce2Reduce1 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="magenta"];37 -> 51[label="",style="dashed", color="magenta", weight=3]; 37 -> 52[label="",style="dashed", color="magenta", weight=3]; 37 -> 53[label="",style="dashed", color="magenta", weight=3]; 37 -> 54[label="",style="dashed", color="magenta", weight=3]; 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 38 -> 9[label="",style="dashed", color="red", weight=0]; 38[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];38 -> 56[label="",style="dashed", color="magenta", weight=3]; 38 -> 57[label="",style="dashed", color="magenta", weight=3]; 39[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];39 -> 58[label="",style="solid", color="black", weight=3]; 40 -> 9[label="",style="dashed", color="red", weight=0]; 40[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];40 -> 59[label="",style="dashed", color="magenta", weight=3]; 40 -> 60[label="",style="dashed", color="magenta", weight=3]; 41 -> 39[label="",style="dashed", color="red", weight=0]; 41[label="vuz31 * vuz41",fontsize=16,color="magenta"];41 -> 61[label="",style="dashed", color="magenta", weight=3]; 41 -> 62[label="",style="dashed", color="magenta", weight=3]; 42[label="vuz40",fontsize=16,color="green",shape="box"];43[label="vuz30",fontsize=16,color="green",shape="box"];44[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1376[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];44 -> 1376[label="",style="solid", color="burlywood", weight=9]; 1376 -> 63[label="",style="solid", color="burlywood", weight=3]; 1377[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];44 -> 1377[label="",style="solid", color="burlywood", weight=9]; 1377 -> 64[label="",style="solid", color="burlywood", weight=3]; 45[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1378[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];45 -> 1378[label="",style="solid", color="burlywood", weight=9]; 1378 -> 65[label="",style="solid", color="burlywood", weight=3]; 1379[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 1379[label="",style="solid", color="burlywood", weight=9]; 1379 -> 66[label="",style="solid", color="burlywood", weight=3]; 46[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1380[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];46 -> 1380[label="",style="solid", color="burlywood", weight=9]; 1380 -> 67[label="",style="solid", color="burlywood", weight=3]; 1381[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];46 -> 1381[label="",style="solid", color="burlywood", weight=9]; 1381 -> 68[label="",style="solid", color="burlywood", weight=3]; 47[label="vuz40",fontsize=16,color="green",shape="box"];48[label="vuz30",fontsize=16,color="green",shape="box"];49 -> 44[label="",style="dashed", color="red", weight=0]; 49[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];49 -> 69[label="",style="dashed", color="magenta", weight=3]; 49 -> 70[label="",style="dashed", color="magenta", weight=3]; 51[label="vuz41",fontsize=16,color="green",shape="box"];52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];54[label="vuz40",fontsize=16,color="green",shape="box"];55[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1382[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];55 -> 1382[label="",style="solid", color="blue", weight=9]; 1382 -> 71[label="",style="solid", color="blue", weight=3]; 1383[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];55 -> 1383[label="",style="solid", color="blue", weight=9]; 1383 -> 72[label="",style="solid", color="blue", weight=3]; 50[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) vuz15",fontsize=16,color="burlywood",shape="triangle"];1384[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];50 -> 1384[label="",style="solid", color="burlywood", weight=9]; 1384 -> 73[label="",style="solid", color="burlywood", weight=3]; 1385[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];50 -> 1385[label="",style="solid", color="burlywood", weight=9]; 1385 -> 74[label="",style="solid", color="burlywood", weight=3]; 56 -> 39[label="",style="dashed", color="red", weight=0]; 56[label="vuz40 * vuz31",fontsize=16,color="magenta"];56 -> 75[label="",style="dashed", color="magenta", weight=3]; 56 -> 76[label="",style="dashed", color="magenta", weight=3]; 57 -> 39[label="",style="dashed", color="red", weight=0]; 57[label="vuz30 * vuz41",fontsize=16,color="magenta"];57 -> 77[label="",style="dashed", color="magenta", weight=3]; 58[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1386[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];58 -> 1386[label="",style="solid", color="burlywood", weight=9]; 1386 -> 78[label="",style="solid", color="burlywood", weight=3]; 1387[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];58 -> 1387[label="",style="solid", color="burlywood", weight=9]; 1387 -> 79[label="",style="solid", color="burlywood", weight=3]; 59 -> 39[label="",style="dashed", color="red", weight=0]; 59[label="vuz40 * vuz31",fontsize=16,color="magenta"];59 -> 80[label="",style="dashed", color="magenta", weight=3]; 59 -> 81[label="",style="dashed", color="magenta", weight=3]; 60 -> 39[label="",style="dashed", color="red", weight=0]; 60[label="vuz30 * vuz41",fontsize=16,color="magenta"];60 -> 82[label="",style="dashed", color="magenta", weight=3]; 60 -> 83[label="",style="dashed", color="magenta", weight=3]; 61[label="vuz31",fontsize=16,color="green",shape="box"];62[label="vuz41",fontsize=16,color="green",shape="box"];63[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1388[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];63 -> 1388[label="",style="solid", color="burlywood", weight=9]; 1388 -> 84[label="",style="solid", color="burlywood", weight=3]; 1389[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];63 -> 1389[label="",style="solid", color="burlywood", weight=9]; 1389 -> 85[label="",style="solid", color="burlywood", weight=3]; 64[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1390[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];64 -> 1390[label="",style="solid", color="burlywood", weight=9]; 1390 -> 86[label="",style="solid", color="burlywood", weight=3]; 1391[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];64 -> 1391[label="",style="solid", color="burlywood", weight=9]; 1391 -> 87[label="",style="solid", color="burlywood", weight=3]; 65[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];65 -> 88[label="",style="solid", color="black", weight=3]; 66[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];66 -> 89[label="",style="solid", color="black", weight=3]; 67[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];67 -> 90[label="",style="solid", color="black", weight=3]; 68[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];68 -> 91[label="",style="solid", color="black", weight=3]; 69[label="vuz40",fontsize=16,color="green",shape="box"];70[label="vuz30",fontsize=16,color="green",shape="box"];71[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1392[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];71 -> 1392[label="",style="solid", color="burlywood", weight=9]; 1392 -> 92[label="",style="solid", color="burlywood", weight=3]; 72 -> 93[label="",style="dashed", color="red", weight=0]; 72[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="magenta"];72 -> 94[label="",style="dashed", color="magenta", weight=3]; 73[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) False",fontsize=16,color="black",shape="box"];73 -> 95[label="",style="solid", color="black", weight=3]; 74[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];74 -> 96[label="",style="solid", color="black", weight=3]; 75[label="vuz40",fontsize=16,color="green",shape="box"];76[label="vuz31",fontsize=16,color="green",shape="box"];77[label="vuz30",fontsize=16,color="green",shape="box"];78[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1393[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];78 -> 1393[label="",style="solid", color="burlywood", weight=9]; 1393 -> 97[label="",style="solid", color="burlywood", weight=3]; 1394[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];78 -> 1394[label="",style="solid", color="burlywood", weight=9]; 1394 -> 98[label="",style="solid", color="burlywood", weight=3]; 79[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1395[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];79 -> 1395[label="",style="solid", color="burlywood", weight=9]; 1395 -> 99[label="",style="solid", color="burlywood", weight=3]; 1396[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];79 -> 1396[label="",style="solid", color="burlywood", weight=9]; 1396 -> 100[label="",style="solid", color="burlywood", weight=3]; 80[label="vuz40",fontsize=16,color="green",shape="box"];81[label="vuz31",fontsize=16,color="green",shape="box"];82[label="vuz30",fontsize=16,color="green",shape="box"];83[label="vuz41",fontsize=16,color="green",shape="box"];84[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 85[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];85 -> 102[label="",style="solid", color="black", weight=3]; 86[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];86 -> 103[label="",style="solid", color="black", weight=3]; 87[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];87 -> 104[label="",style="solid", color="black", weight=3]; 88 -> 34[label="",style="dashed", color="red", weight=0]; 88[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];88 -> 105[label="",style="dashed", color="magenta", weight=3]; 88 -> 106[label="",style="dashed", color="magenta", weight=3]; 89[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];90[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];91[label="Pos Zero",fontsize=16,color="green",shape="box"];92[label="Integer vuz310 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1397[label="vuz41/Integer vuz410",fontsize=10,color="white",style="solid",shape="box"];92 -> 1397[label="",style="solid", color="burlywood", weight=9]; 1397 -> 107[label="",style="solid", color="burlywood", weight=3]; 94 -> 39[label="",style="dashed", color="red", weight=0]; 94[label="vuz31 * vuz41",fontsize=16,color="magenta"];94 -> 108[label="",style="dashed", color="magenta", weight=3]; 94 -> 109[label="",style="dashed", color="magenta", weight=3]; 93[label="vuz16 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];93 -> 110[label="",style="solid", color="black", weight=3]; 95[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) otherwise",fontsize=16,color="black",shape="box"];95 -> 111[label="",style="solid", color="black", weight=3]; 96[label="error []",fontsize=16,color="black",shape="box"];96 -> 112[label="",style="solid", color="black", weight=3]; 97[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];97 -> 113[label="",style="solid", color="black", weight=3]; 98[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];98 -> 114[label="",style="solid", color="black", weight=3]; 99[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];99 -> 115[label="",style="solid", color="black", weight=3]; 100[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];100 -> 116[label="",style="solid", color="black", weight=3]; 101[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];101 -> 117[label="",style="dashed", color="green", weight=3]; 102[label="Succ vuz300",fontsize=16,color="green",shape="box"];103[label="Succ vuz400",fontsize=16,color="green",shape="box"];104[label="Zero",fontsize=16,color="green",shape="box"];105[label="vuz300",fontsize=16,color="green",shape="box"];106[label="vuz400",fontsize=16,color="green",shape="box"];107[label="Integer vuz310 * Integer vuz410 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];107 -> 118[label="",style="solid", color="black", weight=3]; 108[label="vuz31",fontsize=16,color="green",shape="box"];109[label="vuz41",fontsize=16,color="green",shape="box"];110[label="primEqInt vuz16 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1398[label="vuz16/Pos vuz160",fontsize=10,color="white",style="solid",shape="box"];110 -> 1398[label="",style="solid", color="burlywood", weight=9]; 1398 -> 119[label="",style="solid", color="burlywood", weight=3]; 1399[label="vuz16/Neg vuz160",fontsize=10,color="white",style="solid",shape="box"];110 -> 1399[label="",style="solid", color="burlywood", weight=9]; 1399 -> 120[label="",style="solid", color="burlywood", weight=3]; 111[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];111 -> 121[label="",style="solid", color="black", weight=3]; 112[label="error []",fontsize=16,color="red",shape="box"];113[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];113 -> 122[label="",style="dashed", color="green", weight=3]; 114[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];114 -> 123[label="",style="dashed", color="green", weight=3]; 115[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];115 -> 124[label="",style="dashed", color="green", weight=3]; 116[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];116 -> 125[label="",style="dashed", color="green", weight=3]; 117 -> 44[label="",style="dashed", color="red", weight=0]; 117[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];117 -> 126[label="",style="dashed", color="magenta", weight=3]; 117 -> 127[label="",style="dashed", color="magenta", weight=3]; 118 -> 128[label="",style="dashed", color="red", weight=0]; 118[label="Integer (primMulInt vuz310 vuz410) == fromInt (Pos Zero)",fontsize=16,color="magenta"];118 -> 129[label="",style="dashed", color="magenta", weight=3]; 119[label="primEqInt (Pos vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1400[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];119 -> 1400[label="",style="solid", color="burlywood", weight=9]; 1400 -> 130[label="",style="solid", color="burlywood", weight=3]; 1401[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];119 -> 1401[label="",style="solid", color="burlywood", weight=9]; 1401 -> 131[label="",style="solid", color="burlywood", weight=3]; 120[label="primEqInt (Neg vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1402[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];120 -> 1402[label="",style="solid", color="burlywood", weight=9]; 1402 -> 132[label="",style="solid", color="burlywood", weight=3]; 1403[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1403[label="",style="solid", color="burlywood", weight=9]; 1403 -> 133[label="",style="solid", color="burlywood", weight=3]; 121[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) :% (vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12))",fontsize=16,color="green",shape="box"];121 -> 134[label="",style="dashed", color="green", weight=3]; 121 -> 135[label="",style="dashed", color="green", weight=3]; 122[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1404[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];122 -> 1404[label="",style="solid", color="burlywood", weight=9]; 1404 -> 136[label="",style="solid", color="burlywood", weight=3]; 1405[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 1405[label="",style="solid", color="burlywood", weight=9]; 1405 -> 137[label="",style="solid", color="burlywood", weight=3]; 123 -> 122[label="",style="dashed", color="red", weight=0]; 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 138[label="",style="dashed", color="magenta", weight=3]; 124 -> 122[label="",style="dashed", color="red", weight=0]; 124[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];124 -> 139[label="",style="dashed", color="magenta", weight=3]; 125 -> 122[label="",style="dashed", color="red", weight=0]; 125[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];125 -> 140[label="",style="dashed", color="magenta", weight=3]; 125 -> 141[label="",style="dashed", color="magenta", weight=3]; 126[label="vuz400",fontsize=16,color="green",shape="box"];127[label="vuz300",fontsize=16,color="green",shape="box"];129 -> 58[label="",style="dashed", color="red", weight=0]; 129[label="primMulInt vuz310 vuz410",fontsize=16,color="magenta"];129 -> 142[label="",style="dashed", color="magenta", weight=3]; 129 -> 143[label="",style="dashed", color="magenta", weight=3]; 128[label="Integer vuz17 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];128 -> 144[label="",style="solid", color="black", weight=3]; 130[label="primEqInt (Pos (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];130 -> 145[label="",style="solid", color="black", weight=3]; 131[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];131 -> 146[label="",style="solid", color="black", weight=3]; 132[label="primEqInt (Neg (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];132 -> 147[label="",style="solid", color="black", weight=3]; 133[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];133 -> 148[label="",style="solid", color="black", weight=3]; 134[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1406[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];134 -> 1406[label="",style="solid", color="blue", weight=9]; 1406 -> 149[label="",style="solid", color="blue", weight=3]; 1407[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];134 -> 1407[label="",style="solid", color="blue", weight=9]; 1407 -> 150[label="",style="solid", color="blue", weight=3]; 135[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1408[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];135 -> 1408[label="",style="solid", color="blue", weight=9]; 1408 -> 151[label="",style="solid", color="blue", weight=3]; 1409[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];135 -> 1409[label="",style="solid", color="blue", weight=9]; 1409 -> 152[label="",style="solid", color="blue", weight=3]; 136[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1410[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];136 -> 1410[label="",style="solid", color="burlywood", weight=9]; 1410 -> 153[label="",style="solid", color="burlywood", weight=3]; 1411[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];136 -> 1411[label="",style="solid", color="burlywood", weight=9]; 1411 -> 154[label="",style="solid", color="burlywood", weight=3]; 137[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1412[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];137 -> 1412[label="",style="solid", color="burlywood", weight=9]; 1412 -> 155[label="",style="solid", color="burlywood", weight=3]; 1413[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];137 -> 1413[label="",style="solid", color="burlywood", weight=9]; 1413 -> 156[label="",style="solid", color="burlywood", weight=3]; 138[label="vuz410",fontsize=16,color="green",shape="box"];139[label="vuz310",fontsize=16,color="green",shape="box"];140[label="vuz410",fontsize=16,color="green",shape="box"];141[label="vuz310",fontsize=16,color="green",shape="box"];142[label="vuz310",fontsize=16,color="green",shape="box"];143[label="vuz410",fontsize=16,color="green",shape="box"];144[label="Integer vuz17 == Integer (Pos Zero)",fontsize=16,color="black",shape="triangle"];144 -> 157[label="",style="solid", color="black", weight=3]; 145[label="primEqInt (Pos (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];145 -> 158[label="",style="solid", color="black", weight=3]; 146[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];146 -> 159[label="",style="solid", color="black", weight=3]; 147[label="primEqInt (Neg (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];147 -> 160[label="",style="solid", color="black", weight=3]; 148[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];148 -> 161[label="",style="solid", color="black", weight=3]; 149 -> 162[label="",style="dashed", color="red", weight=0]; 149[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];149 -> 163[label="",style="dashed", color="magenta", weight=3]; 149 -> 164[label="",style="dashed", color="magenta", weight=3]; 149 -> 165[label="",style="dashed", color="magenta", weight=3]; 150 -> 169[label="",style="dashed", color="red", weight=0]; 150[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];150 -> 170[label="",style="dashed", color="magenta", weight=3]; 150 -> 171[label="",style="dashed", color="magenta", weight=3]; 151 -> 162[label="",style="dashed", color="red", weight=0]; 151[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];151 -> 166[label="",style="dashed", color="magenta", weight=3]; 151 -> 167[label="",style="dashed", color="magenta", weight=3]; 151 -> 168[label="",style="dashed", color="magenta", weight=3]; 152 -> 169[label="",style="dashed", color="red", weight=0]; 152[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];152 -> 172[label="",style="dashed", color="magenta", weight=3]; 152 -> 173[label="",style="dashed", color="magenta", weight=3]; 153[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];153 -> 174[label="",style="solid", color="black", weight=3]; 154[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];154 -> 175[label="",style="solid", color="black", weight=3]; 155[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];155 -> 176[label="",style="solid", color="black", weight=3]; 156[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];156 -> 177[label="",style="solid", color="black", weight=3]; 157[label="primEqInt vuz17 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1414[label="vuz17/Pos vuz170",fontsize=10,color="white",style="solid",shape="box"];157 -> 1414[label="",style="solid", color="burlywood", weight=9]; 1414 -> 178[label="",style="solid", color="burlywood", weight=3]; 1415[label="vuz17/Neg vuz170",fontsize=10,color="white",style="solid",shape="box"];157 -> 1415[label="",style="solid", color="burlywood", weight=9]; 1415 -> 179[label="",style="solid", color="burlywood", weight=3]; 158[label="False",fontsize=16,color="green",shape="box"];159[label="True",fontsize=16,color="green",shape="box"];160[label="False",fontsize=16,color="green",shape="box"];161[label="True",fontsize=16,color="green",shape="box"];163 -> 9[label="",style="dashed", color="red", weight=0]; 163[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];163 -> 180[label="",style="dashed", color="magenta", weight=3]; 163 -> 181[label="",style="dashed", color="magenta", weight=3]; 164 -> 39[label="",style="dashed", color="red", weight=0]; 164[label="vuz14 * vuz12",fontsize=16,color="magenta"];164 -> 182[label="",style="dashed", color="magenta", weight=3]; 164 -> 183[label="",style="dashed", color="magenta", weight=3]; 165 -> 9[label="",style="dashed", color="red", weight=0]; 165[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];165 -> 184[label="",style="dashed", color="magenta", weight=3]; 165 -> 185[label="",style="dashed", color="magenta", weight=3]; 162[label="vuz18 `quot` reduce2D vuz20 vuz19",fontsize=16,color="black",shape="triangle"];162 -> 186[label="",style="solid", color="black", weight=3]; 170 -> 8[label="",style="dashed", color="red", weight=0]; 170[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];170 -> 187[label="",style="dashed", color="magenta", weight=3]; 170 -> 188[label="",style="dashed", color="magenta", weight=3]; 171 -> 8[label="",style="dashed", color="red", weight=0]; 171[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];171 -> 189[label="",style="dashed", color="magenta", weight=3]; 171 -> 190[label="",style="dashed", color="magenta", weight=3]; 169[label="vuz25 `quot` reduce2D vuz26 (vuz14 * vuz12)",fontsize=16,color="burlywood",shape="triangle"];1416[label="vuz25/Integer vuz250",fontsize=10,color="white",style="solid",shape="box"];169 -> 1416[label="",style="solid", color="burlywood", weight=9]; 1416 -> 191[label="",style="solid", color="burlywood", weight=3]; 166 -> 39[label="",style="dashed", color="red", weight=0]; 166[label="vuz14 * vuz12",fontsize=16,color="magenta"];166 -> 192[label="",style="dashed", color="magenta", weight=3]; 166 -> 193[label="",style="dashed", color="magenta", weight=3]; 167 -> 39[label="",style="dashed", color="red", weight=0]; 167[label="vuz14 * vuz12",fontsize=16,color="magenta"];167 -> 194[label="",style="dashed", color="magenta", weight=3]; 167 -> 195[label="",style="dashed", color="magenta", weight=3]; 168 -> 9[label="",style="dashed", color="red", weight=0]; 168[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];168 -> 196[label="",style="dashed", color="magenta", weight=3]; 168 -> 197[label="",style="dashed", color="magenta", weight=3]; 172[label="vuz14 * vuz12",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz14/Integer vuz140",fontsize=10,color="white",style="solid",shape="box"];172 -> 1417[label="",style="solid", color="burlywood", weight=9]; 1417 -> 198[label="",style="solid", color="burlywood", weight=3]; 173 -> 8[label="",style="dashed", color="red", weight=0]; 173[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];173 -> 199[label="",style="dashed", color="magenta", weight=3]; 173 -> 200[label="",style="dashed", color="magenta", weight=3]; 174 -> 44[label="",style="dashed", color="red", weight=0]; 174[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];174 -> 201[label="",style="dashed", color="magenta", weight=3]; 174 -> 202[label="",style="dashed", color="magenta", weight=3]; 175[label="Zero",fontsize=16,color="green",shape="box"];176[label="Zero",fontsize=16,color="green",shape="box"];177[label="Zero",fontsize=16,color="green",shape="box"];178[label="primEqInt (Pos vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1418[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];178 -> 1418[label="",style="solid", color="burlywood", weight=9]; 1418 -> 203[label="",style="solid", color="burlywood", weight=3]; 1419[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];178 -> 1419[label="",style="solid", color="burlywood", weight=9]; 1419 -> 204[label="",style="solid", color="burlywood", weight=3]; 179[label="primEqInt (Neg vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];179 -> 1420[label="",style="solid", color="burlywood", weight=9]; 1420 -> 205[label="",style="solid", color="burlywood", weight=3]; 1421[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];179 -> 1421[label="",style="solid", color="burlywood", weight=9]; 1421 -> 206[label="",style="solid", color="burlywood", weight=3]; 180 -> 39[label="",style="dashed", color="red", weight=0]; 180[label="vuz13 * vuz14",fontsize=16,color="magenta"];180 -> 207[label="",style="dashed", color="magenta", weight=3]; 180 -> 208[label="",style="dashed", color="magenta", weight=3]; 181 -> 39[label="",style="dashed", color="red", weight=0]; 181[label="vuz11 * vuz12",fontsize=16,color="magenta"];181 -> 209[label="",style="dashed", color="magenta", weight=3]; 181 -> 210[label="",style="dashed", color="magenta", weight=3]; 182[label="vuz14",fontsize=16,color="green",shape="box"];183[label="vuz12",fontsize=16,color="green",shape="box"];184 -> 39[label="",style="dashed", color="red", weight=0]; 184[label="vuz13 * vuz14",fontsize=16,color="magenta"];184 -> 211[label="",style="dashed", color="magenta", weight=3]; 184 -> 212[label="",style="dashed", color="magenta", weight=3]; 185 -> 39[label="",style="dashed", color="red", weight=0]; 185[label="vuz11 * vuz12",fontsize=16,color="magenta"];185 -> 213[label="",style="dashed", color="magenta", weight=3]; 185 -> 214[label="",style="dashed", color="magenta", weight=3]; 186[label="primQuotInt vuz18 (reduce2D vuz20 vuz19)",fontsize=16,color="burlywood",shape="box"];1422[label="vuz18/Pos vuz180",fontsize=10,color="white",style="solid",shape="box"];186 -> 1422[label="",style="solid", color="burlywood", weight=9]; 1422 -> 215[label="",style="solid", color="burlywood", weight=3]; 1423[label="vuz18/Neg vuz180",fontsize=10,color="white",style="solid",shape="box"];186 -> 1423[label="",style="solid", color="burlywood", weight=9]; 1423 -> 216[label="",style="solid", color="burlywood", weight=3]; 187 -> 172[label="",style="dashed", color="red", weight=0]; 187[label="vuz13 * vuz14",fontsize=16,color="magenta"];187 -> 217[label="",style="dashed", color="magenta", weight=3]; 187 -> 218[label="",style="dashed", color="magenta", weight=3]; 188 -> 172[label="",style="dashed", color="red", weight=0]; 188[label="vuz11 * vuz12",fontsize=16,color="magenta"];188 -> 219[label="",style="dashed", color="magenta", weight=3]; 189 -> 172[label="",style="dashed", color="red", weight=0]; 189[label="vuz13 * vuz14",fontsize=16,color="magenta"];189 -> 220[label="",style="dashed", color="magenta", weight=3]; 189 -> 221[label="",style="dashed", color="magenta", weight=3]; 190 -> 172[label="",style="dashed", color="red", weight=0]; 190[label="vuz11 * vuz12",fontsize=16,color="magenta"];190 -> 222[label="",style="dashed", color="magenta", weight=3]; 191[label="Integer vuz250 `quot` reduce2D vuz26 (vuz14 * vuz12)",fontsize=16,color="black",shape="box"];191 -> 223[label="",style="solid", color="black", weight=3]; 192[label="vuz14",fontsize=16,color="green",shape="box"];193[label="vuz12",fontsize=16,color="green",shape="box"];194[label="vuz14",fontsize=16,color="green",shape="box"];195[label="vuz12",fontsize=16,color="green",shape="box"];196 -> 39[label="",style="dashed", color="red", weight=0]; 196[label="vuz13 * vuz14",fontsize=16,color="magenta"];196 -> 224[label="",style="dashed", color="magenta", weight=3]; 196 -> 225[label="",style="dashed", color="magenta", weight=3]; 197 -> 39[label="",style="dashed", color="red", weight=0]; 197[label="vuz11 * vuz12",fontsize=16,color="magenta"];197 -> 226[label="",style="dashed", color="magenta", weight=3]; 197 -> 227[label="",style="dashed", color="magenta", weight=3]; 198[label="Integer vuz140 * vuz12",fontsize=16,color="burlywood",shape="box"];1424[label="vuz12/Integer vuz120",fontsize=10,color="white",style="solid",shape="box"];198 -> 1424[label="",style="solid", color="burlywood", weight=9]; 1424 -> 228[label="",style="solid", color="burlywood", weight=3]; 199 -> 172[label="",style="dashed", color="red", weight=0]; 199[label="vuz13 * vuz14",fontsize=16,color="magenta"];199 -> 229[label="",style="dashed", color="magenta", weight=3]; 199 -> 230[label="",style="dashed", color="magenta", weight=3]; 200 -> 172[label="",style="dashed", color="red", weight=0]; 200[label="vuz11 * vuz12",fontsize=16,color="magenta"];200 -> 231[label="",style="dashed", color="magenta", weight=3]; 201[label="Succ vuz4100",fontsize=16,color="green",shape="box"];202 -> 122[label="",style="dashed", color="red", weight=0]; 202[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];202 -> 232[label="",style="dashed", color="magenta", weight=3]; 202 -> 233[label="",style="dashed", color="magenta", weight=3]; 203[label="primEqInt (Pos (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];203 -> 234[label="",style="solid", color="black", weight=3]; 204[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];204 -> 235[label="",style="solid", color="black", weight=3]; 205[label="primEqInt (Neg (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];205 -> 236[label="",style="solid", color="black", weight=3]; 206[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];206 -> 237[label="",style="solid", color="black", weight=3]; 207[label="vuz13",fontsize=16,color="green",shape="box"];208[label="vuz14",fontsize=16,color="green",shape="box"];209[label="vuz11",fontsize=16,color="green",shape="box"];210[label="vuz12",fontsize=16,color="green",shape="box"];211[label="vuz13",fontsize=16,color="green",shape="box"];212[label="vuz14",fontsize=16,color="green",shape="box"];213[label="vuz11",fontsize=16,color="green",shape="box"];214[label="vuz12",fontsize=16,color="green",shape="box"];215[label="primQuotInt (Pos vuz180) (reduce2D vuz20 vuz19)",fontsize=16,color="black",shape="box"];215 -> 238[label="",style="solid", color="black", weight=3]; 216[label="primQuotInt (Neg vuz180) (reduce2D vuz20 vuz19)",fontsize=16,color="black",shape="box"];216 -> 239[label="",style="solid", color="black", weight=3]; 217[label="vuz14",fontsize=16,color="green",shape="box"];218[label="vuz13",fontsize=16,color="green",shape="box"];219[label="vuz11",fontsize=16,color="green",shape="box"];220[label="vuz14",fontsize=16,color="green",shape="box"];221[label="vuz13",fontsize=16,color="green",shape="box"];222[label="vuz11",fontsize=16,color="green",shape="box"];223 -> 240[label="",style="dashed", color="red", weight=0]; 223[label="Integer vuz250 `quot` gcd vuz26 (vuz14 * vuz12)",fontsize=16,color="magenta"];223 -> 241[label="",style="dashed", color="magenta", weight=3]; 224[label="vuz13",fontsize=16,color="green",shape="box"];225[label="vuz14",fontsize=16,color="green",shape="box"];226[label="vuz11",fontsize=16,color="green",shape="box"];227[label="vuz12",fontsize=16,color="green",shape="box"];228[label="Integer vuz140 * Integer vuz120",fontsize=16,color="black",shape="box"];228 -> 242[label="",style="solid", color="black", weight=3]; 229[label="vuz14",fontsize=16,color="green",shape="box"];230[label="vuz13",fontsize=16,color="green",shape="box"];231[label="vuz11",fontsize=16,color="green",shape="box"];232[label="Succ vuz4100",fontsize=16,color="green",shape="box"];233[label="vuz3100",fontsize=16,color="green",shape="box"];234[label="False",fontsize=16,color="green",shape="box"];235[label="True",fontsize=16,color="green",shape="box"];236[label="False",fontsize=16,color="green",shape="box"];237[label="True",fontsize=16,color="green",shape="box"];238 -> 327[label="",style="dashed", color="red", weight=0]; 238[label="primQuotInt (Pos vuz180) (gcd vuz20 vuz19)",fontsize=16,color="magenta"];238 -> 328[label="",style="dashed", color="magenta", weight=3]; 239 -> 355[label="",style="dashed", color="red", weight=0]; 239[label="primQuotInt (Neg vuz180) (gcd vuz20 vuz19)",fontsize=16,color="magenta"];239 -> 356[label="",style="dashed", color="magenta", weight=3]; 241 -> 172[label="",style="dashed", color="red", weight=0]; 241[label="vuz14 * vuz12",fontsize=16,color="magenta"];240[label="Integer vuz250 `quot` gcd vuz26 vuz27",fontsize=16,color="black",shape="triangle"];240 -> 245[label="",style="solid", color="black", weight=3]; 242[label="Integer (primMulInt vuz140 vuz120)",fontsize=16,color="green",shape="box"];242 -> 246[label="",style="dashed", color="green", weight=3]; 328[label="gcd vuz20 vuz19",fontsize=16,color="black",shape="triangle"];328 -> 344[label="",style="solid", color="black", weight=3]; 327[label="primQuotInt (Pos vuz180) vuz38",fontsize=16,color="burlywood",shape="triangle"];1425[label="vuz38/Pos vuz380",fontsize=10,color="white",style="solid",shape="box"];327 -> 1425[label="",style="solid", color="burlywood", weight=9]; 1425 -> 345[label="",style="solid", color="burlywood", weight=3]; 1426[label="vuz38/Neg vuz380",fontsize=10,color="white",style="solid",shape="box"];327 -> 1426[label="",style="solid", color="burlywood", weight=9]; 1426 -> 346[label="",style="solid", color="burlywood", weight=3]; 356 -> 328[label="",style="dashed", color="red", weight=0]; 356[label="gcd vuz20 vuz19",fontsize=16,color="magenta"];355[label="primQuotInt (Neg vuz180) vuz41",fontsize=16,color="burlywood",shape="triangle"];1427[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];355 -> 1427[label="",style="solid", color="burlywood", weight=9]; 1427 -> 372[label="",style="solid", color="burlywood", weight=3]; 1428[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];355 -> 1428[label="",style="solid", color="burlywood", weight=9]; 1428 -> 373[label="",style="solid", color="burlywood", weight=3]; 245[label="Integer vuz250 `quot` gcd3 vuz26 vuz27",fontsize=16,color="black",shape="box"];245 -> 249[label="",style="solid", color="black", weight=3]; 246 -> 58[label="",style="dashed", color="red", weight=0]; 246[label="primMulInt vuz140 vuz120",fontsize=16,color="magenta"];246 -> 250[label="",style="dashed", color="magenta", weight=3]; 246 -> 251[label="",style="dashed", color="magenta", weight=3]; 344[label="gcd3 vuz20 vuz19",fontsize=16,color="black",shape="box"];344 -> 350[label="",style="solid", color="black", weight=3]; 345[label="primQuotInt (Pos vuz180) (Pos vuz380)",fontsize=16,color="burlywood",shape="box"];1429[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];345 -> 1429[label="",style="solid", color="burlywood", weight=9]; 1429 -> 351[label="",style="solid", color="burlywood", weight=3]; 1430[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];345 -> 1430[label="",style="solid", color="burlywood", weight=9]; 1430 -> 352[label="",style="solid", color="burlywood", weight=3]; 346[label="primQuotInt (Pos vuz180) (Neg vuz380)",fontsize=16,color="burlywood",shape="box"];1431[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];346 -> 1431[label="",style="solid", color="burlywood", weight=9]; 1431 -> 353[label="",style="solid", color="burlywood", weight=3]; 1432[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];346 -> 1432[label="",style="solid", color="burlywood", weight=9]; 1432 -> 354[label="",style="solid", color="burlywood", weight=3]; 372[label="primQuotInt (Neg vuz180) (Pos vuz410)",fontsize=16,color="burlywood",shape="box"];1433[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];372 -> 1433[label="",style="solid", color="burlywood", weight=9]; 1433 -> 376[label="",style="solid", color="burlywood", weight=3]; 1434[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];372 -> 1434[label="",style="solid", color="burlywood", weight=9]; 1434 -> 377[label="",style="solid", color="burlywood", weight=3]; 373[label="primQuotInt (Neg vuz180) (Neg vuz410)",fontsize=16,color="burlywood",shape="box"];1435[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];373 -> 1435[label="",style="solid", color="burlywood", weight=9]; 1435 -> 378[label="",style="solid", color="burlywood", weight=3]; 1436[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];373 -> 1436[label="",style="solid", color="burlywood", weight=9]; 1436 -> 379[label="",style="solid", color="burlywood", weight=3]; 249[label="Integer vuz250 `quot` gcd2 (vuz26 == fromInt (Pos Zero)) vuz26 vuz27",fontsize=16,color="burlywood",shape="box"];1437[label="vuz26/Integer vuz260",fontsize=10,color="white",style="solid",shape="box"];249 -> 1437[label="",style="solid", color="burlywood", weight=9]; 1437 -> 256[label="",style="solid", color="burlywood", weight=3]; 250[label="vuz140",fontsize=16,color="green",shape="box"];251[label="vuz120",fontsize=16,color="green",shape="box"];350 -> 374[label="",style="dashed", color="red", weight=0]; 350[label="gcd2 (vuz20 == fromInt (Pos Zero)) vuz20 vuz19",fontsize=16,color="magenta"];350 -> 375[label="",style="dashed", color="magenta", weight=3]; 351[label="primQuotInt (Pos vuz180) (Pos (Succ vuz3800))",fontsize=16,color="black",shape="box"];351 -> 380[label="",style="solid", color="black", weight=3]; 352[label="primQuotInt (Pos vuz180) (Pos Zero)",fontsize=16,color="black",shape="box"];352 -> 381[label="",style="solid", color="black", weight=3]; 353[label="primQuotInt (Pos vuz180) (Neg (Succ vuz3800))",fontsize=16,color="black",shape="box"];353 -> 382[label="",style="solid", color="black", weight=3]; 354[label="primQuotInt (Pos vuz180) (Neg Zero)",fontsize=16,color="black",shape="box"];354 -> 383[label="",style="solid", color="black", weight=3]; 376[label="primQuotInt (Neg vuz180) (Pos (Succ vuz4100))",fontsize=16,color="black",shape="box"];376 -> 390[label="",style="solid", color="black", weight=3]; 377[label="primQuotInt (Neg vuz180) (Pos Zero)",fontsize=16,color="black",shape="box"];377 -> 391[label="",style="solid", color="black", weight=3]; 378[label="primQuotInt (Neg vuz180) (Neg (Succ vuz4100))",fontsize=16,color="black",shape="box"];378 -> 392[label="",style="solid", color="black", weight=3]; 379[label="primQuotInt (Neg vuz180) (Neg Zero)",fontsize=16,color="black",shape="box"];379 -> 393[label="",style="solid", color="black", weight=3]; 256[label="Integer vuz250 `quot` gcd2 (Integer vuz260 == fromInt (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];256 -> 263[label="",style="solid", color="black", weight=3]; 375 -> 93[label="",style="dashed", color="red", weight=0]; 375[label="vuz20 == fromInt (Pos Zero)",fontsize=16,color="magenta"];375 -> 384[label="",style="dashed", color="magenta", weight=3]; 374[label="gcd2 vuz42 vuz20 vuz19",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];374 -> 1438[label="",style="solid", color="burlywood", weight=9]; 1438 -> 385[label="",style="solid", color="burlywood", weight=3]; 1439[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];374 -> 1439[label="",style="solid", color="burlywood", weight=9]; 1439 -> 386[label="",style="solid", color="burlywood", weight=3]; 380[label="Pos (primDivNatS vuz180 (Succ vuz3800))",fontsize=16,color="green",shape="box"];380 -> 394[label="",style="dashed", color="green", weight=3]; 381[label="error []",fontsize=16,color="black",shape="triangle"];381 -> 395[label="",style="solid", color="black", weight=3]; 382[label="Neg (primDivNatS vuz180 (Succ vuz3800))",fontsize=16,color="green",shape="box"];382 -> 396[label="",style="dashed", color="green", weight=3]; 383 -> 381[label="",style="dashed", color="red", weight=0]; 383[label="error []",fontsize=16,color="magenta"];390[label="Neg (primDivNatS vuz180 (Succ vuz4100))",fontsize=16,color="green",shape="box"];390 -> 402[label="",style="dashed", color="green", weight=3]; 391 -> 381[label="",style="dashed", color="red", weight=0]; 391[label="error []",fontsize=16,color="magenta"];392[label="Pos (primDivNatS vuz180 (Succ vuz4100))",fontsize=16,color="green",shape="box"];392 -> 403[label="",style="dashed", color="green", weight=3]; 393 -> 381[label="",style="dashed", color="red", weight=0]; 393[label="error []",fontsize=16,color="magenta"];263 -> 268[label="",style="dashed", color="red", weight=0]; 263[label="Integer vuz250 `quot` gcd2 (Integer vuz260 == Integer (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="magenta"];263 -> 269[label="",style="dashed", color="magenta", weight=3]; 384[label="vuz20",fontsize=16,color="green",shape="box"];385[label="gcd2 False vuz20 vuz19",fontsize=16,color="black",shape="box"];385 -> 397[label="",style="solid", color="black", weight=3]; 386[label="gcd2 True vuz20 vuz19",fontsize=16,color="black",shape="box"];386 -> 398[label="",style="solid", color="black", weight=3]; 394[label="primDivNatS vuz180 (Succ vuz3800)",fontsize=16,color="burlywood",shape="triangle"];1440[label="vuz180/Succ vuz1800",fontsize=10,color="white",style="solid",shape="box"];394 -> 1440[label="",style="solid", color="burlywood", weight=9]; 1440 -> 404[label="",style="solid", color="burlywood", weight=3]; 1441[label="vuz180/Zero",fontsize=10,color="white",style="solid",shape="box"];394 -> 1441[label="",style="solid", color="burlywood", weight=9]; 1441 -> 405[label="",style="solid", color="burlywood", weight=3]; 395[label="error []",fontsize=16,color="red",shape="box"];396 -> 394[label="",style="dashed", color="red", weight=0]; 396[label="primDivNatS vuz180 (Succ vuz3800)",fontsize=16,color="magenta"];396 -> 406[label="",style="dashed", color="magenta", weight=3]; 402 -> 394[label="",style="dashed", color="red", weight=0]; 402[label="primDivNatS vuz180 (Succ vuz4100)",fontsize=16,color="magenta"];402 -> 410[label="",style="dashed", color="magenta", weight=3]; 402 -> 411[label="",style="dashed", color="magenta", weight=3]; 403 -> 394[label="",style="dashed", color="red", weight=0]; 403[label="primDivNatS vuz180 (Succ vuz4100)",fontsize=16,color="magenta"];403 -> 412[label="",style="dashed", color="magenta", weight=3]; 403 -> 413[label="",style="dashed", color="magenta", weight=3]; 269 -> 144[label="",style="dashed", color="red", weight=0]; 269[label="Integer vuz260 == Integer (Pos Zero)",fontsize=16,color="magenta"];269 -> 276[label="",style="dashed", color="magenta", weight=3]; 268[label="Integer vuz250 `quot` gcd2 vuz30 (Integer vuz260) vuz27",fontsize=16,color="burlywood",shape="triangle"];1442[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];268 -> 1442[label="",style="solid", color="burlywood", weight=9]; 1442 -> 277[label="",style="solid", color="burlywood", weight=3]; 1443[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];268 -> 1443[label="",style="solid", color="burlywood", weight=9]; 1443 -> 278[label="",style="solid", color="burlywood", weight=3]; 397[label="gcd0 vuz20 vuz19",fontsize=16,color="black",shape="triangle"];397 -> 407[label="",style="solid", color="black", weight=3]; 398 -> 408[label="",style="dashed", color="red", weight=0]; 398[label="gcd1 (vuz19 == fromInt (Pos Zero)) vuz20 vuz19",fontsize=16,color="magenta"];398 -> 409[label="",style="dashed", color="magenta", weight=3]; 404[label="primDivNatS (Succ vuz1800) (Succ vuz3800)",fontsize=16,color="black",shape="box"];404 -> 414[label="",style="solid", color="black", weight=3]; 405[label="primDivNatS Zero (Succ vuz3800)",fontsize=16,color="black",shape="box"];405 -> 415[label="",style="solid", color="black", weight=3]; 406[label="vuz3800",fontsize=16,color="green",shape="box"];410[label="vuz4100",fontsize=16,color="green",shape="box"];411[label="vuz180",fontsize=16,color="green",shape="box"];412[label="vuz4100",fontsize=16,color="green",shape="box"];413[label="vuz180",fontsize=16,color="green",shape="box"];276[label="vuz260",fontsize=16,color="green",shape="box"];277[label="Integer vuz250 `quot` gcd2 False (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];277 -> 287[label="",style="solid", color="black", weight=3]; 278[label="Integer vuz250 `quot` gcd2 True (Integer vuz260) vuz27",fontsize=16,color="black",shape="box"];278 -> 288[label="",style="solid", color="black", weight=3]; 407[label="gcd0Gcd' (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];407 -> 416[label="",style="solid", color="black", weight=3]; 409 -> 93[label="",style="dashed", color="red", weight=0]; 409[label="vuz19 == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 417[label="",style="dashed", color="magenta", weight=3]; 408[label="gcd1 vuz43 vuz20 vuz19",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz43/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1444[label="",style="solid", color="burlywood", weight=9]; 1444 -> 418[label="",style="solid", color="burlywood", weight=3]; 1445[label="vuz43/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1445[label="",style="solid", color="burlywood", weight=9]; 1445 -> 419[label="",style="solid", color="burlywood", weight=3]; 414[label="primDivNatS0 vuz1800 vuz3800 (primGEqNatS vuz1800 vuz3800)",fontsize=16,color="burlywood",shape="box"];1446[label="vuz1800/Succ vuz18000",fontsize=10,color="white",style="solid",shape="box"];414 -> 1446[label="",style="solid", color="burlywood", weight=9]; 1446 -> 421[label="",style="solid", color="burlywood", weight=3]; 1447[label="vuz1800/Zero",fontsize=10,color="white",style="solid",shape="box"];414 -> 1447[label="",style="solid", color="burlywood", weight=9]; 1447 -> 422[label="",style="solid", color="burlywood", weight=3]; 415[label="Zero",fontsize=16,color="green",shape="box"];287[label="Integer vuz250 `quot` gcd0 (Integer vuz260) vuz27",fontsize=16,color="black",shape="triangle"];287 -> 295[label="",style="solid", color="black", weight=3]; 288[label="Integer vuz250 `quot` gcd1 (vuz27 == fromInt (Pos Zero)) (Integer vuz260) vuz27",fontsize=16,color="burlywood",shape="box"];1448[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];288 -> 1448[label="",style="solid", color="burlywood", weight=9]; 1448 -> 296[label="",style="solid", color="burlywood", weight=3]; 416[label="gcd0Gcd'2 (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];416 -> 423[label="",style="solid", color="black", weight=3]; 417[label="vuz19",fontsize=16,color="green",shape="box"];418[label="gcd1 False vuz20 vuz19",fontsize=16,color="black",shape="box"];418 -> 424[label="",style="solid", color="black", weight=3]; 419[label="gcd1 True vuz20 vuz19",fontsize=16,color="black",shape="box"];419 -> 425[label="",style="solid", color="black", weight=3]; 421[label="primDivNatS0 (Succ vuz18000) vuz3800 (primGEqNatS (Succ vuz18000) vuz3800)",fontsize=16,color="burlywood",shape="box"];1449[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];421 -> 1449[label="",style="solid", color="burlywood", weight=9]; 1449 -> 427[label="",style="solid", color="burlywood", weight=3]; 1450[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];421 -> 1450[label="",style="solid", color="burlywood", weight=9]; 1450 -> 428[label="",style="solid", color="burlywood", weight=3]; 422[label="primDivNatS0 Zero vuz3800 (primGEqNatS Zero vuz3800)",fontsize=16,color="burlywood",shape="box"];1451[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];422 -> 1451[label="",style="solid", color="burlywood", weight=9]; 1451 -> 429[label="",style="solid", color="burlywood", weight=3]; 1452[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];422 -> 1452[label="",style="solid", color="burlywood", weight=9]; 1452 -> 430[label="",style="solid", color="burlywood", weight=3]; 295[label="Integer vuz250 `quot` gcd0Gcd' (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];295 -> 303[label="",style="solid", color="black", weight=3]; 296[label="Integer vuz250 `quot` gcd1 (Integer vuz270 == fromInt (Pos Zero)) (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];296 -> 304[label="",style="solid", color="black", weight=3]; 423 -> 431[label="",style="dashed", color="red", weight=0]; 423[label="gcd0Gcd'1 (abs vuz19 == fromInt (Pos Zero)) (abs vuz20) (abs vuz19)",fontsize=16,color="magenta"];423 -> 432[label="",style="dashed", color="magenta", weight=3]; 424 -> 397[label="",style="dashed", color="red", weight=0]; 424[label="gcd0 vuz20 vuz19",fontsize=16,color="magenta"];425 -> 381[label="",style="dashed", color="red", weight=0]; 425[label="error []",fontsize=16,color="magenta"];427[label="primDivNatS0 (Succ vuz18000) (Succ vuz38000) (primGEqNatS (Succ vuz18000) (Succ vuz38000))",fontsize=16,color="black",shape="box"];427 -> 433[label="",style="solid", color="black", weight=3]; 428[label="primDivNatS0 (Succ vuz18000) Zero (primGEqNatS (Succ vuz18000) Zero)",fontsize=16,color="black",shape="box"];428 -> 434[label="",style="solid", color="black", weight=3]; 429[label="primDivNatS0 Zero (Succ vuz38000) (primGEqNatS Zero (Succ vuz38000))",fontsize=16,color="black",shape="box"];429 -> 435[label="",style="solid", color="black", weight=3]; 430[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];430 -> 436[label="",style="solid", color="black", weight=3]; 303[label="Integer vuz250 `quot` gcd0Gcd'2 (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];303 -> 311[label="",style="solid", color="black", weight=3]; 304 -> 312[label="",style="dashed", color="red", weight=0]; 304[label="Integer vuz250 `quot` gcd1 (Integer vuz270 == Integer (Pos Zero)) (Integer vuz260) (Integer vuz270)",fontsize=16,color="magenta"];304 -> 313[label="",style="dashed", color="magenta", weight=3]; 432 -> 93[label="",style="dashed", color="red", weight=0]; 432[label="abs vuz19 == fromInt (Pos Zero)",fontsize=16,color="magenta"];432 -> 437[label="",style="dashed", color="magenta", weight=3]; 431[label="gcd0Gcd'1 vuz44 (abs vuz20) (abs vuz19)",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz44/False",fontsize=10,color="white",style="solid",shape="box"];431 -> 1453[label="",style="solid", color="burlywood", weight=9]; 1453 -> 438[label="",style="solid", color="burlywood", weight=3]; 1454[label="vuz44/True",fontsize=10,color="white",style="solid",shape="box"];431 -> 1454[label="",style="solid", color="burlywood", weight=9]; 1454 -> 439[label="",style="solid", color="burlywood", weight=3]; 433 -> 904[label="",style="dashed", color="red", weight=0]; 433[label="primDivNatS0 (Succ vuz18000) (Succ vuz38000) (primGEqNatS vuz18000 vuz38000)",fontsize=16,color="magenta"];433 -> 905[label="",style="dashed", color="magenta", weight=3]; 433 -> 906[label="",style="dashed", color="magenta", weight=3]; 433 -> 907[label="",style="dashed", color="magenta", weight=3]; 433 -> 908[label="",style="dashed", color="magenta", weight=3]; 434[label="primDivNatS0 (Succ vuz18000) Zero True",fontsize=16,color="black",shape="box"];434 -> 443[label="",style="solid", color="black", weight=3]; 435[label="primDivNatS0 Zero (Succ vuz38000) False",fontsize=16,color="black",shape="box"];435 -> 444[label="",style="solid", color="black", weight=3]; 436[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];436 -> 445[label="",style="solid", color="black", weight=3]; 311[label="Integer vuz250 `quot` gcd0Gcd'1 (abs vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (abs vuz27)",fontsize=16,color="black",shape="box"];311 -> 319[label="",style="solid", color="black", weight=3]; 313 -> 144[label="",style="dashed", color="red", weight=0]; 313[label="Integer vuz270 == Integer (Pos Zero)",fontsize=16,color="magenta"];313 -> 320[label="",style="dashed", color="magenta", weight=3]; 312[label="Integer vuz250 `quot` gcd1 vuz35 (Integer vuz260) (Integer vuz270)",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz35/False",fontsize=10,color="white",style="solid",shape="box"];312 -> 1455[label="",style="solid", color="burlywood", weight=9]; 1455 -> 321[label="",style="solid", color="burlywood", weight=3]; 1456[label="vuz35/True",fontsize=10,color="white",style="solid",shape="box"];312 -> 1456[label="",style="solid", color="burlywood", weight=9]; 1456 -> 322[label="",style="solid", color="burlywood", weight=3]; 437[label="abs vuz19",fontsize=16,color="black",shape="triangle"];437 -> 446[label="",style="solid", color="black", weight=3]; 438[label="gcd0Gcd'1 False (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];438 -> 447[label="",style="solid", color="black", weight=3]; 439[label="gcd0Gcd'1 True (abs vuz20) (abs vuz19)",fontsize=16,color="black",shape="box"];439 -> 448[label="",style="solid", color="black", weight=3]; 905[label="vuz38000",fontsize=16,color="green",shape="box"];906[label="vuz18000",fontsize=16,color="green",shape="box"];907[label="vuz18000",fontsize=16,color="green",shape="box"];908[label="vuz38000",fontsize=16,color="green",shape="box"];904[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS vuz79 vuz80)",fontsize=16,color="burlywood",shape="triangle"];1457[label="vuz79/Succ vuz790",fontsize=10,color="white",style="solid",shape="box"];904 -> 1457[label="",style="solid", color="burlywood", weight=9]; 1457 -> 945[label="",style="solid", color="burlywood", weight=3]; 1458[label="vuz79/Zero",fontsize=10,color="white",style="solid",shape="box"];904 -> 1458[label="",style="solid", color="burlywood", weight=9]; 1458 -> 946[label="",style="solid", color="burlywood", weight=3]; 443[label="Succ (primDivNatS (primMinusNatS (Succ vuz18000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];443 -> 454[label="",style="dashed", color="green", weight=3]; 444[label="Zero",fontsize=16,color="green",shape="box"];445[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];445 -> 455[label="",style="dashed", color="green", weight=3]; 319[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal vuz27)",fontsize=16,color="black",shape="box"];319 -> 387[label="",style="solid", color="black", weight=3]; 320[label="vuz270",fontsize=16,color="green",shape="box"];321[label="Integer vuz250 `quot` gcd1 False (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];321 -> 388[label="",style="solid", color="black", weight=3]; 322[label="Integer vuz250 `quot` gcd1 True (Integer vuz260) (Integer vuz270)",fontsize=16,color="black",shape="box"];322 -> 389[label="",style="solid", color="black", weight=3]; 446[label="absReal vuz19",fontsize=16,color="black",shape="box"];446 -> 456[label="",style="solid", color="black", weight=3]; 447 -> 457[label="",style="dashed", color="red", weight=0]; 447[label="gcd0Gcd'0 (abs vuz20) (abs vuz19)",fontsize=16,color="magenta"];447 -> 458[label="",style="dashed", color="magenta", weight=3]; 447 -> 459[label="",style="dashed", color="magenta", weight=3]; 448 -> 437[label="",style="dashed", color="red", weight=0]; 448[label="abs vuz20",fontsize=16,color="magenta"];448 -> 460[label="",style="dashed", color="magenta", weight=3]; 945[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) vuz80)",fontsize=16,color="burlywood",shape="box"];1459[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];945 -> 1459[label="",style="solid", color="burlywood", weight=9]; 1459 -> 960[label="",style="solid", color="burlywood", weight=3]; 1460[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];945 -> 1460[label="",style="solid", color="burlywood", weight=9]; 1460 -> 961[label="",style="solid", color="burlywood", weight=3]; 946[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero vuz80)",fontsize=16,color="burlywood",shape="box"];1461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];946 -> 1461[label="",style="solid", color="burlywood", weight=9]; 1461 -> 962[label="",style="solid", color="burlywood", weight=3]; 1462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];946 -> 1462[label="",style="solid", color="burlywood", weight=9]; 1462 -> 963[label="",style="solid", color="burlywood", weight=3]; 454 -> 394[label="",style="dashed", color="red", weight=0]; 454[label="primDivNatS (primMinusNatS (Succ vuz18000) Zero) (Succ Zero)",fontsize=16,color="magenta"];454 -> 465[label="",style="dashed", color="magenta", weight=3]; 454 -> 466[label="",style="dashed", color="magenta", weight=3]; 455 -> 394[label="",style="dashed", color="red", weight=0]; 455[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];455 -> 467[label="",style="dashed", color="magenta", weight=3]; 455 -> 468[label="",style="dashed", color="magenta", weight=3]; 387[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal2 vuz27 == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal2 vuz27)",fontsize=16,color="black",shape="box"];387 -> 399[label="",style="solid", color="black", weight=3]; 388 -> 287[label="",style="dashed", color="red", weight=0]; 388[label="Integer vuz250 `quot` gcd0 (Integer vuz260) (Integer vuz270)",fontsize=16,color="magenta"];388 -> 400[label="",style="dashed", color="magenta", weight=3]; 389[label="Integer vuz250 `quot` error []",fontsize=16,color="black",shape="box"];389 -> 401[label="",style="solid", color="black", weight=3]; 456[label="absReal2 vuz19",fontsize=16,color="black",shape="box"];456 -> 469[label="",style="solid", color="black", weight=3]; 458 -> 437[label="",style="dashed", color="red", weight=0]; 458[label="abs vuz20",fontsize=16,color="magenta"];458 -> 470[label="",style="dashed", color="magenta", weight=3]; 459 -> 437[label="",style="dashed", color="red", weight=0]; 459[label="abs vuz19",fontsize=16,color="magenta"];457[label="gcd0Gcd'0 vuz46 vuz45",fontsize=16,color="black",shape="triangle"];457 -> 471[label="",style="solid", color="black", weight=3]; 460[label="vuz20",fontsize=16,color="green",shape="box"];960[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) (Succ vuz800))",fontsize=16,color="black",shape="box"];960 -> 975[label="",style="solid", color="black", weight=3]; 961[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS (Succ vuz790) Zero)",fontsize=16,color="black",shape="box"];961 -> 976[label="",style="solid", color="black", weight=3]; 962[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero (Succ vuz800))",fontsize=16,color="black",shape="box"];962 -> 977[label="",style="solid", color="black", weight=3]; 963[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];963 -> 978[label="",style="solid", color="black", weight=3]; 465[label="Zero",fontsize=16,color="green",shape="box"];466[label="primMinusNatS (Succ vuz18000) Zero",fontsize=16,color="black",shape="triangle"];466 -> 478[label="",style="solid", color="black", weight=3]; 467[label="Zero",fontsize=16,color="green",shape="box"];468[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];468 -> 479[label="",style="solid", color="black", weight=3]; 399[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];399 -> 420[label="",style="solid", color="black", weight=3]; 400[label="Integer vuz270",fontsize=16,color="green",shape="box"];401[label="error []",fontsize=16,color="red",shape="box"];469[label="absReal1 vuz19 (vuz19 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];469 -> 480[label="",style="solid", color="black", weight=3]; 470[label="vuz20",fontsize=16,color="green",shape="box"];471[label="gcd0Gcd' vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];471 -> 481[label="",style="solid", color="black", weight=3]; 975 -> 904[label="",style="dashed", color="red", weight=0]; 975[label="primDivNatS0 (Succ vuz77) (Succ vuz78) (primGEqNatS vuz790 vuz800)",fontsize=16,color="magenta"];975 -> 991[label="",style="dashed", color="magenta", weight=3]; 975 -> 992[label="",style="dashed", color="magenta", weight=3]; 976[label="primDivNatS0 (Succ vuz77) (Succ vuz78) True",fontsize=16,color="black",shape="triangle"];976 -> 993[label="",style="solid", color="black", weight=3]; 977[label="primDivNatS0 (Succ vuz77) (Succ vuz78) False",fontsize=16,color="black",shape="box"];977 -> 994[label="",style="solid", color="black", weight=3]; 978 -> 976[label="",style="dashed", color="red", weight=0]; 978[label="primDivNatS0 (Succ vuz77) (Succ vuz78) True",fontsize=16,color="magenta"];478[label="Succ vuz18000",fontsize=16,color="green",shape="box"];479[label="Zero",fontsize=16,color="green",shape="box"];420[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];420 -> 426[label="",style="solid", color="black", weight=3]; 480[label="absReal1 vuz19 (compare vuz19 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];480 -> 490[label="",style="solid", color="black", weight=3]; 481[label="gcd0Gcd'2 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];481 -> 491[label="",style="solid", color="black", weight=3]; 991[label="vuz800",fontsize=16,color="green",shape="box"];992[label="vuz790",fontsize=16,color="green",shape="box"];993[label="Succ (primDivNatS (primMinusNatS (Succ vuz77) (Succ vuz78)) (Succ (Succ vuz78)))",fontsize=16,color="green",shape="box"];993 -> 1011[label="",style="dashed", color="green", weight=3]; 994[label="Zero",fontsize=16,color="green",shape="box"];426[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];426 -> 1463[label="",style="solid", color="burlywood", weight=9]; 1463 -> 440[label="",style="solid", color="burlywood", weight=3]; 490[label="absReal1 vuz19 (not (compare vuz19 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];490 -> 504[label="",style="solid", color="black", weight=3]; 491 -> 505[label="",style="dashed", color="red", weight=0]; 491[label="gcd0Gcd'1 (vuz46 `rem` vuz45 == fromInt (Pos Zero)) vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];491 -> 506[label="",style="dashed", color="magenta", weight=3]; 1011 -> 394[label="",style="dashed", color="red", weight=0]; 1011[label="primDivNatS (primMinusNatS (Succ vuz77) (Succ vuz78)) (Succ (Succ vuz78))",fontsize=16,color="magenta"];1011 -> 1026[label="",style="dashed", color="magenta", weight=3]; 1011 -> 1027[label="",style="dashed", color="magenta", weight=3]; 440[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];440 -> 449[label="",style="solid", color="black", weight=3]; 504[label="absReal1 vuz19 (not (primCmpInt vuz19 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1464[label="vuz19/Pos vuz190",fontsize=10,color="white",style="solid",shape="box"];504 -> 1464[label="",style="solid", color="burlywood", weight=9]; 1464 -> 514[label="",style="solid", color="burlywood", weight=3]; 1465[label="vuz19/Neg vuz190",fontsize=10,color="white",style="solid",shape="box"];504 -> 1465[label="",style="solid", color="burlywood", weight=9]; 1465 -> 515[label="",style="solid", color="burlywood", weight=3]; 506 -> 93[label="",style="dashed", color="red", weight=0]; 506[label="vuz46 `rem` vuz45 == fromInt (Pos Zero)",fontsize=16,color="magenta"];506 -> 516[label="",style="dashed", color="magenta", weight=3]; 505[label="gcd0Gcd'1 vuz47 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="burlywood",shape="triangle"];1466[label="vuz47/False",fontsize=10,color="white",style="solid",shape="box"];505 -> 1466[label="",style="solid", color="burlywood", weight=9]; 1466 -> 517[label="",style="solid", color="burlywood", weight=3]; 1467[label="vuz47/True",fontsize=10,color="white",style="solid",shape="box"];505 -> 1467[label="",style="solid", color="burlywood", weight=9]; 1467 -> 518[label="",style="solid", color="burlywood", weight=3]; 1026[label="Succ vuz78",fontsize=16,color="green",shape="box"];1027[label="primMinusNatS (Succ vuz77) (Succ vuz78)",fontsize=16,color="black",shape="box"];1027 -> 1042[label="",style="solid", color="black", weight=3]; 449[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];449 -> 472[label="",style="solid", color="black", weight=3]; 514[label="absReal1 (Pos vuz190) (not (primCmpInt (Pos vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];514 -> 1468[label="",style="solid", color="burlywood", weight=9]; 1468 -> 530[label="",style="solid", color="burlywood", weight=3]; 1469[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];514 -> 1469[label="",style="solid", color="burlywood", weight=9]; 1469 -> 531[label="",style="solid", color="burlywood", weight=3]; 515[label="absReal1 (Neg vuz190) (not (primCmpInt (Neg vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1470[label="vuz190/Succ vuz1900",fontsize=10,color="white",style="solid",shape="box"];515 -> 1470[label="",style="solid", color="burlywood", weight=9]; 1470 -> 532[label="",style="solid", color="burlywood", weight=3]; 1471[label="vuz190/Zero",fontsize=10,color="white",style="solid",shape="box"];515 -> 1471[label="",style="solid", color="burlywood", weight=9]; 1471 -> 533[label="",style="solid", color="burlywood", weight=3]; 516[label="vuz46 `rem` vuz45",fontsize=16,color="black",shape="triangle"];516 -> 534[label="",style="solid", color="black", weight=3]; 517[label="gcd0Gcd'1 False vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];517 -> 535[label="",style="solid", color="black", weight=3]; 518[label="gcd0Gcd'1 True vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];518 -> 536[label="",style="solid", color="black", weight=3]; 1042[label="primMinusNatS vuz77 vuz78",fontsize=16,color="burlywood",shape="triangle"];1472[label="vuz77/Succ vuz770",fontsize=10,color="white",style="solid",shape="box"];1042 -> 1472[label="",style="solid", color="burlywood", weight=9]; 1472 -> 1059[label="",style="solid", color="burlywood", weight=3]; 1473[label="vuz77/Zero",fontsize=10,color="white",style="solid",shape="box"];1042 -> 1473[label="",style="solid", color="burlywood", weight=9]; 1473 -> 1060[label="",style="solid", color="burlywood", weight=3]; 472[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1474[label="vuz270/Pos vuz2700",fontsize=10,color="white",style="solid",shape="box"];472 -> 1474[label="",style="solid", color="burlywood", weight=9]; 1474 -> 482[label="",style="solid", color="burlywood", weight=3]; 1475[label="vuz270/Neg vuz2700",fontsize=10,color="white",style="solid",shape="box"];472 -> 1475[label="",style="solid", color="burlywood", weight=9]; 1475 -> 483[label="",style="solid", color="burlywood", weight=3]; 530[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpInt (Pos (Succ vuz1900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];530 -> 549[label="",style="solid", color="black", weight=3]; 531[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];531 -> 550[label="",style="solid", color="black", weight=3]; 532[label="absReal1 (Neg (Succ vuz1900)) (not (primCmpInt (Neg (Succ vuz1900)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];532 -> 551[label="",style="solid", color="black", weight=3]; 533[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];533 -> 552[label="",style="solid", color="black", weight=3]; 534[label="primRemInt vuz46 vuz45",fontsize=16,color="burlywood",shape="triangle"];1476[label="vuz46/Pos vuz460",fontsize=10,color="white",style="solid",shape="box"];534 -> 1476[label="",style="solid", color="burlywood", weight=9]; 1476 -> 553[label="",style="solid", color="burlywood", weight=3]; 1477[label="vuz46/Neg vuz460",fontsize=10,color="white",style="solid",shape="box"];534 -> 1477[label="",style="solid", color="burlywood", weight=9]; 1477 -> 554[label="",style="solid", color="burlywood", weight=3]; 535 -> 457[label="",style="dashed", color="red", weight=0]; 535[label="gcd0Gcd'0 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];535 -> 555[label="",style="dashed", color="magenta", weight=3]; 535 -> 556[label="",style="dashed", color="magenta", weight=3]; 536[label="vuz45",fontsize=16,color="green",shape="box"];1059[label="primMinusNatS (Succ vuz770) vuz78",fontsize=16,color="burlywood",shape="box"];1478[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1478[label="",style="solid", color="burlywood", weight=9]; 1478 -> 1079[label="",style="solid", color="burlywood", weight=3]; 1479[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1479[label="",style="solid", color="burlywood", weight=9]; 1479 -> 1080[label="",style="solid", color="burlywood", weight=3]; 1060[label="primMinusNatS Zero vuz78",fontsize=16,color="burlywood",shape="box"];1480[label="vuz78/Succ vuz780",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1480[label="",style="solid", color="burlywood", weight=9]; 1480 -> 1081[label="",style="solid", color="burlywood", weight=3]; 1481[label="vuz78/Zero",fontsize=10,color="white",style="solid",shape="box"];1060 -> 1481[label="",style="solid", color="burlywood", weight=9]; 1481 -> 1082[label="",style="solid", color="burlywood", weight=3]; 482[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1482[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];482 -> 1482[label="",style="solid", color="burlywood", weight=9]; 1482 -> 492[label="",style="solid", color="burlywood", weight=3]; 1483[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];482 -> 1483[label="",style="solid", color="burlywood", weight=9]; 1483 -> 493[label="",style="solid", color="burlywood", weight=3]; 483[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1484[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];483 -> 1484[label="",style="solid", color="burlywood", weight=9]; 1484 -> 494[label="",style="solid", color="burlywood", weight=3]; 1485[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];483 -> 1485[label="",style="solid", color="burlywood", weight=9]; 1485 -> 495[label="",style="solid", color="burlywood", weight=3]; 549[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpInt (Pos (Succ vuz1900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];549 -> 568[label="",style="solid", color="black", weight=3]; 550[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];550 -> 569[label="",style="solid", color="black", weight=3]; 551[label="absReal1 (Neg (Succ vuz1900)) (not (primCmpInt (Neg (Succ vuz1900)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];551 -> 570[label="",style="solid", color="black", weight=3]; 552[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];552 -> 571[label="",style="solid", color="black", weight=3]; 553[label="primRemInt (Pos vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1486[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];553 -> 1486[label="",style="solid", color="burlywood", weight=9]; 1486 -> 572[label="",style="solid", color="burlywood", weight=3]; 1487[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];553 -> 1487[label="",style="solid", color="burlywood", weight=9]; 1487 -> 573[label="",style="solid", color="burlywood", weight=3]; 554[label="primRemInt (Neg vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1488[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];554 -> 1488[label="",style="solid", color="burlywood", weight=9]; 1488 -> 574[label="",style="solid", color="burlywood", weight=3]; 1489[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];554 -> 1489[label="",style="solid", color="burlywood", weight=9]; 1489 -> 575[label="",style="solid", color="burlywood", weight=3]; 555[label="vuz45",fontsize=16,color="green",shape="box"];556 -> 516[label="",style="dashed", color="red", weight=0]; 556[label="vuz46 `rem` vuz45",fontsize=16,color="magenta"];1079[label="primMinusNatS (Succ vuz770) (Succ vuz780)",fontsize=16,color="black",shape="box"];1079 -> 1096[label="",style="solid", color="black", weight=3]; 1080[label="primMinusNatS (Succ vuz770) Zero",fontsize=16,color="black",shape="box"];1080 -> 1097[label="",style="solid", color="black", weight=3]; 1081[label="primMinusNatS Zero (Succ vuz780)",fontsize=16,color="black",shape="box"];1081 -> 1098[label="",style="solid", color="black", weight=3]; 1082[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1082 -> 1099[label="",style="solid", color="black", weight=3]; 492[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];492 -> 519[label="",style="solid", color="black", weight=3]; 493[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];493 -> 520[label="",style="solid", color="black", weight=3]; 494[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];494 -> 521[label="",style="solid", color="black", weight=3]; 495[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];495 -> 522[label="",style="solid", color="black", weight=3]; 568[label="absReal1 (Pos (Succ vuz1900)) (not (primCmpNat (Succ vuz1900) Zero == LT))",fontsize=16,color="black",shape="box"];568 -> 587[label="",style="solid", color="black", weight=3]; 569[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];569 -> 588[label="",style="solid", color="black", weight=3]; 570[label="absReal1 (Neg (Succ vuz1900)) (not (LT == LT))",fontsize=16,color="black",shape="box"];570 -> 589[label="",style="solid", color="black", weight=3]; 571[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];571 -> 590[label="",style="solid", color="black", weight=3]; 572[label="primRemInt (Pos vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1490[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];572 -> 1490[label="",style="solid", color="burlywood", weight=9]; 1490 -> 591[label="",style="solid", color="burlywood", weight=3]; 1491[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];572 -> 1491[label="",style="solid", color="burlywood", weight=9]; 1491 -> 592[label="",style="solid", color="burlywood", weight=3]; 573[label="primRemInt (Pos vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1492[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];573 -> 1492[label="",style="solid", color="burlywood", weight=9]; 1492 -> 593[label="",style="solid", color="burlywood", weight=3]; 1493[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];573 -> 1493[label="",style="solid", color="burlywood", weight=9]; 1493 -> 594[label="",style="solid", color="burlywood", weight=3]; 574[label="primRemInt (Neg vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1494[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];574 -> 1494[label="",style="solid", color="burlywood", weight=9]; 1494 -> 595[label="",style="solid", color="burlywood", weight=3]; 1495[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];574 -> 1495[label="",style="solid", color="burlywood", weight=9]; 1495 -> 596[label="",style="solid", color="burlywood", weight=3]; 575[label="primRemInt (Neg vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1496[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];575 -> 1496[label="",style="solid", color="burlywood", weight=9]; 1496 -> 597[label="",style="solid", color="burlywood", weight=3]; 1497[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];575 -> 1497[label="",style="solid", color="burlywood", weight=9]; 1497 -> 598[label="",style="solid", color="burlywood", weight=3]; 1096 -> 1042[label="",style="dashed", color="red", weight=0]; 1096[label="primMinusNatS vuz770 vuz780",fontsize=16,color="magenta"];1096 -> 1106[label="",style="dashed", color="magenta", weight=3]; 1096 -> 1107[label="",style="dashed", color="magenta", weight=3]; 1097[label="Succ vuz770",fontsize=16,color="green",shape="box"];1098[label="Zero",fontsize=16,color="green",shape="box"];1099[label="Zero",fontsize=16,color="green",shape="box"];519[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)))",fontsize=16,color="black",shape="box"];519 -> 537[label="",style="solid", color="black", weight=3]; 520[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 521[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];521 -> 539[label="",style="solid", color="black", weight=3]; 522[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];522 -> 540[label="",style="solid", color="black", weight=3]; 587[label="absReal1 (Pos (Succ vuz1900)) (not (GT == LT))",fontsize=16,color="black",shape="box"];587 -> 610[label="",style="solid", color="black", weight=3]; 588[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];588 -> 611[label="",style="solid", color="black", weight=3]; 589[label="absReal1 (Neg (Succ vuz1900)) (not True)",fontsize=16,color="black",shape="box"];589 -> 612[label="",style="solid", color="black", weight=3]; 590[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];590 -> 613[label="",style="solid", color="black", weight=3]; 591[label="primRemInt (Pos vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];591 -> 614[label="",style="solid", color="black", weight=3]; 592[label="primRemInt (Pos vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];592 -> 615[label="",style="solid", color="black", weight=3]; 593[label="primRemInt (Pos vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];593 -> 616[label="",style="solid", color="black", weight=3]; 594[label="primRemInt (Pos vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];594 -> 617[label="",style="solid", color="black", weight=3]; 595[label="primRemInt (Neg vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];595 -> 618[label="",style="solid", color="black", weight=3]; 596[label="primRemInt (Neg vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];596 -> 619[label="",style="solid", color="black", weight=3]; 597[label="primRemInt (Neg vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];597 -> 620[label="",style="solid", color="black", weight=3]; 598[label="primRemInt (Neg vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];598 -> 621[label="",style="solid", color="black", weight=3]; 1106[label="vuz770",fontsize=16,color="green",shape="box"];1107[label="vuz780",fontsize=16,color="green",shape="box"];537[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];537 -> 557[label="",style="solid", color="black", weight=3]; 538[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];538 -> 558[label="",style="solid", color="black", weight=3]; 539[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not True) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) (not True))",fontsize=16,color="black",shape="box"];539 -> 559[label="",style="solid", color="black", weight=3]; 540[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];540 -> 560[label="",style="solid", color="black", weight=3]; 610[label="absReal1 (Pos (Succ vuz1900)) (not False)",fontsize=16,color="black",shape="box"];610 -> 632[label="",style="solid", color="black", weight=3]; 611[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];611 -> 633[label="",style="solid", color="black", weight=3]; 612[label="absReal1 (Neg (Succ vuz1900)) False",fontsize=16,color="black",shape="box"];612 -> 634[label="",style="solid", color="black", weight=3]; 613[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];613 -> 635[label="",style="solid", color="black", weight=3]; 614[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];614 -> 636[label="",style="dashed", color="green", weight=3]; 615 -> 381[label="",style="dashed", color="red", weight=0]; 615[label="error []",fontsize=16,color="magenta"];616[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];616 -> 637[label="",style="dashed", color="green", weight=3]; 617 -> 381[label="",style="dashed", color="red", weight=0]; 617[label="error []",fontsize=16,color="magenta"];618[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];618 -> 638[label="",style="dashed", color="green", weight=3]; 619 -> 381[label="",style="dashed", color="red", weight=0]; 619[label="error []",fontsize=16,color="magenta"];620[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];620 -> 639[label="",style="dashed", color="green", weight=3]; 621 -> 381[label="",style="dashed", color="red", weight=0]; 621[label="error []",fontsize=16,color="magenta"];557[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not False) == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) (not False))",fontsize=16,color="black",shape="box"];557 -> 576[label="",style="solid", color="black", weight=3]; 558[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];558 -> 577[label="",style="solid", color="black", weight=3]; 559[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) False == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg (Succ vuz27000))) False)",fontsize=16,color="black",shape="box"];559 -> 578[label="",style="solid", color="black", weight=3]; 560[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];560 -> 579[label="",style="solid", color="black", weight=3]; 632[label="absReal1 (Pos (Succ vuz1900)) True",fontsize=16,color="black",shape="box"];632 -> 649[label="",style="solid", color="black", weight=3]; 633[label="Pos Zero",fontsize=16,color="green",shape="box"];634[label="absReal0 (Neg (Succ vuz1900)) otherwise",fontsize=16,color="black",shape="box"];634 -> 650[label="",style="solid", color="black", weight=3]; 635[label="Neg Zero",fontsize=16,color="green",shape="box"];636[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="burlywood",shape="triangle"];1498[label="vuz460/Succ vuz4600",fontsize=10,color="white",style="solid",shape="box"];636 -> 1498[label="",style="solid", color="burlywood", weight=9]; 1498 -> 651[label="",style="solid", color="burlywood", weight=3]; 1499[label="vuz460/Zero",fontsize=10,color="white",style="solid",shape="box"];636 -> 1499[label="",style="solid", color="burlywood", weight=9]; 1499 -> 652[label="",style="solid", color="burlywood", weight=3]; 637 -> 636[label="",style="dashed", color="red", weight=0]; 637[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];637 -> 653[label="",style="dashed", color="magenta", weight=3]; 638 -> 636[label="",style="dashed", color="red", weight=0]; 638[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];638 -> 654[label="",style="dashed", color="magenta", weight=3]; 639 -> 636[label="",style="dashed", color="red", weight=0]; 639[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];639 -> 655[label="",style="dashed", color="magenta", weight=3]; 639 -> 656[label="",style="dashed", color="magenta", weight=3]; 576[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal1 (Integer (Pos (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];576 -> 599[label="",style="solid", color="black", weight=3]; 577 -> 723[label="",style="dashed", color="red", weight=0]; 577[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos Zero) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Pos Zero))",fontsize=16,color="magenta"];577 -> 724[label="",style="dashed", color="magenta", weight=3]; 577 -> 725[label="",style="dashed", color="magenta", weight=3]; 578[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) otherwise == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal0 (Integer (Neg (Succ vuz27000))) otherwise)",fontsize=16,color="black",shape="box"];578 -> 622[label="",style="solid", color="black", weight=3]; 579 -> 723[label="",style="dashed", color="red", weight=0]; 579[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Neg Zero) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Neg Zero))",fontsize=16,color="magenta"];579 -> 726[label="",style="dashed", color="magenta", weight=3]; 579 -> 727[label="",style="dashed", color="magenta", weight=3]; 649[label="Pos (Succ vuz1900)",fontsize=16,color="green",shape="box"];650[label="absReal0 (Neg (Succ vuz1900)) True",fontsize=16,color="black",shape="box"];650 -> 675[label="",style="solid", color="black", weight=3]; 651[label="primModNatS (Succ vuz4600) (Succ vuz4500)",fontsize=16,color="black",shape="box"];651 -> 676[label="",style="solid", color="black", weight=3]; 652[label="primModNatS Zero (Succ vuz4500)",fontsize=16,color="black",shape="box"];652 -> 677[label="",style="solid", color="black", weight=3]; 653[label="vuz4500",fontsize=16,color="green",shape="box"];654[label="vuz460",fontsize=16,color="green",shape="box"];655[label="vuz4500",fontsize=16,color="green",shape="box"];656[label="vuz460",fontsize=16,color="green",shape="box"];599 -> 723[label="",style="dashed", color="red", weight=0]; 599[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];599 -> 728[label="",style="dashed", color="magenta", weight=3]; 599 -> 729[label="",style="dashed", color="magenta", weight=3]; 724 -> 128[label="",style="dashed", color="red", weight=0]; 724[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];724 -> 739[label="",style="dashed", color="magenta", weight=3]; 725[label="Pos Zero",fontsize=16,color="green",shape="box"];723[label="Integer vuz250 `quot` gcd0Gcd'1 vuz55 (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="burlywood",shape="triangle"];1500[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];723 -> 1500[label="",style="solid", color="burlywood", weight=9]; 1500 -> 740[label="",style="solid", color="burlywood", weight=3]; 1501[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];723 -> 1501[label="",style="solid", color="burlywood", weight=9]; 1501 -> 741[label="",style="solid", color="burlywood", weight=3]; 622[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz260)) (absReal0 (Integer (Neg (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];622 -> 660[label="",style="solid", color="black", weight=3]; 726 -> 128[label="",style="dashed", color="red", weight=0]; 726[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];726 -> 742[label="",style="dashed", color="magenta", weight=3]; 727[label="Neg Zero",fontsize=16,color="green",shape="box"];675[label="`negate` Neg (Succ vuz1900)",fontsize=16,color="black",shape="box"];675 -> 694[label="",style="solid", color="black", weight=3]; 676[label="primModNatS0 vuz4600 vuz4500 (primGEqNatS vuz4600 vuz4500)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz4600/Succ vuz46000",fontsize=10,color="white",style="solid",shape="box"];676 -> 1502[label="",style="solid", color="burlywood", weight=9]; 1502 -> 695[label="",style="solid", color="burlywood", weight=3]; 1503[label="vuz4600/Zero",fontsize=10,color="white",style="solid",shape="box"];676 -> 1503[label="",style="solid", color="burlywood", weight=9]; 1503 -> 696[label="",style="solid", color="burlywood", weight=3]; 677[label="Zero",fontsize=16,color="green",shape="box"];728 -> 128[label="",style="dashed", color="red", weight=0]; 728[label="Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];728 -> 743[label="",style="dashed", color="magenta", weight=3]; 729[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];739[label="Pos Zero",fontsize=16,color="green",shape="box"];740[label="Integer vuz250 `quot` gcd0Gcd'1 False (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];740 -> 753[label="",style="solid", color="black", weight=3]; 741[label="Integer vuz250 `quot` gcd0Gcd'1 True (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];741 -> 754[label="",style="solid", color="black", weight=3]; 660[label="Integer vuz250 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz260)) (`negate` Integer (Neg (Succ vuz27000)))",fontsize=16,color="black",shape="box"];660 -> 680[label="",style="solid", color="black", weight=3]; 742[label="Neg Zero",fontsize=16,color="green",shape="box"];694[label="primNegInt (Neg (Succ vuz1900))",fontsize=16,color="black",shape="triangle"];694 -> 708[label="",style="solid", color="black", weight=3]; 695[label="primModNatS0 (Succ vuz46000) vuz4500 (primGEqNatS (Succ vuz46000) vuz4500)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];695 -> 1504[label="",style="solid", color="burlywood", weight=9]; 1504 -> 709[label="",style="solid", color="burlywood", weight=3]; 1505[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];695 -> 1505[label="",style="solid", color="burlywood", weight=9]; 1505 -> 710[label="",style="solid", color="burlywood", weight=3]; 696[label="primModNatS0 Zero vuz4500 (primGEqNatS Zero vuz4500)",fontsize=16,color="burlywood",shape="box"];1506[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];696 -> 1506[label="",style="solid", color="burlywood", weight=9]; 1506 -> 711[label="",style="solid", color="burlywood", weight=3]; 1507[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];696 -> 1507[label="",style="solid", color="burlywood", weight=9]; 1507 -> 712[label="",style="solid", color="burlywood", weight=3]; 743[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];753[label="Integer vuz250 `quot` gcd0Gcd'0 (abs (Integer vuz260)) (Integer vuz56)",fontsize=16,color="black",shape="box"];753 -> 757[label="",style="solid", color="black", weight=3]; 754[label="Integer vuz250 `quot` abs (Integer vuz260)",fontsize=16,color="black",shape="box"];754 -> 758[label="",style="solid", color="black", weight=3]; 680 -> 723[label="",style="dashed", color="red", weight=0]; 680[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)) (abs (Integer vuz260)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];680 -> 736[label="",style="dashed", color="magenta", weight=3]; 680 -> 737[label="",style="dashed", color="magenta", weight=3]; 708[label="Pos (Succ vuz1900)",fontsize=16,color="green",shape="box"];709[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS (Succ vuz46000) (Succ vuz45000))",fontsize=16,color="black",shape="box"];709 -> 744[label="",style="solid", color="black", weight=3]; 710[label="primModNatS0 (Succ vuz46000) Zero (primGEqNatS (Succ vuz46000) Zero)",fontsize=16,color="black",shape="box"];710 -> 745[label="",style="solid", color="black", weight=3]; 711[label="primModNatS0 Zero (Succ vuz45000) (primGEqNatS Zero (Succ vuz45000))",fontsize=16,color="black",shape="box"];711 -> 746[label="",style="solid", color="black", weight=3]; 712[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];712 -> 747[label="",style="solid", color="black", weight=3]; 757[label="Integer vuz250 `quot` gcd0Gcd' (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];757 -> 774[label="",style="solid", color="black", weight=3]; 758[label="Integer vuz250 `quot` absReal (Integer vuz260)",fontsize=16,color="black",shape="box"];758 -> 775[label="",style="solid", color="black", weight=3]; 736 -> 128[label="",style="dashed", color="red", weight=0]; 736[label="Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];736 -> 761[label="",style="dashed", color="magenta", weight=3]; 737 -> 694[label="",style="dashed", color="red", weight=0]; 737[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];737 -> 762[label="",style="dashed", color="magenta", weight=3]; 744 -> 1296[label="",style="dashed", color="red", weight=0]; 744[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS vuz46000 vuz45000)",fontsize=16,color="magenta"];744 -> 1297[label="",style="dashed", color="magenta", weight=3]; 744 -> 1298[label="",style="dashed", color="magenta", weight=3]; 744 -> 1299[label="",style="dashed", color="magenta", weight=3]; 744 -> 1300[label="",style="dashed", color="magenta", weight=3]; 745[label="primModNatS0 (Succ vuz46000) Zero True",fontsize=16,color="black",shape="box"];745 -> 765[label="",style="solid", color="black", weight=3]; 746[label="primModNatS0 Zero (Succ vuz45000) False",fontsize=16,color="black",shape="box"];746 -> 766[label="",style="solid", color="black", weight=3]; 747[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];747 -> 767[label="",style="solid", color="black", weight=3]; 774[label="Integer vuz250 `quot` gcd0Gcd'2 (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];774 -> 791[label="",style="solid", color="black", weight=3]; 775[label="Integer vuz250 `quot` absReal2 (Integer vuz260)",fontsize=16,color="black",shape="box"];775 -> 792[label="",style="solid", color="black", weight=3]; 761 -> 694[label="",style="dashed", color="red", weight=0]; 761[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];761 -> 777[label="",style="dashed", color="magenta", weight=3]; 762[label="vuz27000",fontsize=16,color="green",shape="box"];1297[label="vuz45000",fontsize=16,color="green",shape="box"];1298[label="vuz46000",fontsize=16,color="green",shape="box"];1299[label="vuz46000",fontsize=16,color="green",shape="box"];1300[label="vuz45000",fontsize=16,color="green",shape="box"];1296[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS vuz109 vuz110)",fontsize=16,color="burlywood",shape="triangle"];1508[label="vuz109/Succ vuz1090",fontsize=10,color="white",style="solid",shape="box"];1296 -> 1508[label="",style="solid", color="burlywood", weight=9]; 1508 -> 1337[label="",style="solid", color="burlywood", weight=3]; 1509[label="vuz109/Zero",fontsize=10,color="white",style="solid",shape="box"];1296 -> 1509[label="",style="solid", color="burlywood", weight=9]; 1509 -> 1338[label="",style="solid", color="burlywood", weight=3]; 765 -> 636[label="",style="dashed", color="red", weight=0]; 765[label="primModNatS (primMinusNatS (Succ vuz46000) Zero) (Succ Zero)",fontsize=16,color="magenta"];765 -> 782[label="",style="dashed", color="magenta", weight=3]; 765 -> 783[label="",style="dashed", color="magenta", weight=3]; 766[label="Succ Zero",fontsize=16,color="green",shape="box"];767 -> 636[label="",style="dashed", color="red", weight=0]; 767[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];767 -> 784[label="",style="dashed", color="magenta", weight=3]; 767 -> 785[label="",style="dashed", color="magenta", weight=3]; 791[label="Integer vuz250 `quot` gcd0Gcd'1 (abs (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (abs (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];791 -> 804[label="",style="solid", color="black", weight=3]; 792[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];792 -> 805[label="",style="solid", color="black", weight=3]; 777[label="vuz27000",fontsize=16,color="green",shape="box"];1337[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) vuz110)",fontsize=16,color="burlywood",shape="box"];1510[label="vuz110/Succ vuz1100",fontsize=10,color="white",style="solid",shape="box"];1337 -> 1510[label="",style="solid", color="burlywood", weight=9]; 1510 -> 1339[label="",style="solid", color="burlywood", weight=3]; 1511[label="vuz110/Zero",fontsize=10,color="white",style="solid",shape="box"];1337 -> 1511[label="",style="solid", color="burlywood", weight=9]; 1511 -> 1340[label="",style="solid", color="burlywood", weight=3]; 1338[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero vuz110)",fontsize=16,color="burlywood",shape="box"];1512[label="vuz110/Succ vuz1100",fontsize=10,color="white",style="solid",shape="box"];1338 -> 1512[label="",style="solid", color="burlywood", weight=9]; 1512 -> 1341[label="",style="solid", color="burlywood", weight=3]; 1513[label="vuz110/Zero",fontsize=10,color="white",style="solid",shape="box"];1338 -> 1513[label="",style="solid", color="burlywood", weight=9]; 1513 -> 1342[label="",style="solid", color="burlywood", weight=3]; 782[label="Zero",fontsize=16,color="green",shape="box"];783 -> 466[label="",style="dashed", color="red", weight=0]; 783[label="primMinusNatS (Succ vuz46000) Zero",fontsize=16,color="magenta"];783 -> 799[label="",style="dashed", color="magenta", weight=3]; 784[label="Zero",fontsize=16,color="green",shape="box"];785 -> 468[label="",style="dashed", color="red", weight=0]; 785[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];804[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];804 -> 818[label="",style="solid", color="black", weight=3]; 805[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];805 -> 819[label="",style="solid", color="black", weight=3]; 1339[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) (Succ vuz1100))",fontsize=16,color="black",shape="box"];1339 -> 1343[label="",style="solid", color="black", weight=3]; 1340[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS (Succ vuz1090) Zero)",fontsize=16,color="black",shape="box"];1340 -> 1344[label="",style="solid", color="black", weight=3]; 1341[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero (Succ vuz1100))",fontsize=16,color="black",shape="box"];1341 -> 1345[label="",style="solid", color="black", weight=3]; 1342[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1342 -> 1346[label="",style="solid", color="black", weight=3]; 799[label="vuz46000",fontsize=16,color="green",shape="box"];818[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal2 (Integer vuz260) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal2 (Integer vuz260) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];818 -> 866[label="",style="solid", color="black", weight=3]; 819[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];819 -> 867[label="",style="solid", color="black", weight=3]; 1343 -> 1296[label="",style="dashed", color="red", weight=0]; 1343[label="primModNatS0 (Succ vuz107) (Succ vuz108) (primGEqNatS vuz1090 vuz1100)",fontsize=16,color="magenta"];1343 -> 1347[label="",style="dashed", color="magenta", weight=3]; 1343 -> 1348[label="",style="dashed", color="magenta", weight=3]; 1344[label="primModNatS0 (Succ vuz107) (Succ vuz108) True",fontsize=16,color="black",shape="triangle"];1344 -> 1349[label="",style="solid", color="black", weight=3]; 1345[label="primModNatS0 (Succ vuz107) (Succ vuz108) False",fontsize=16,color="black",shape="box"];1345 -> 1350[label="",style="solid", color="black", weight=3]; 1346 -> 1344[label="",style="dashed", color="red", weight=0]; 1346[label="primModNatS0 (Succ vuz107) (Succ vuz108) True",fontsize=16,color="magenta"];866[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (Integer vuz260 >= fromInt (Pos Zero)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];866 -> 881[label="",style="solid", color="black", weight=3]; 867[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];867 -> 882[label="",style="solid", color="black", weight=3]; 1347[label="vuz1090",fontsize=16,color="green",shape="box"];1348[label="vuz1100",fontsize=16,color="green",shape="box"];1349 -> 636[label="",style="dashed", color="red", weight=0]; 1349[label="primModNatS (primMinusNatS (Succ vuz107) (Succ vuz108)) (Succ (Succ vuz108))",fontsize=16,color="magenta"];1349 -> 1351[label="",style="dashed", color="magenta", weight=3]; 1349 -> 1352[label="",style="dashed", color="magenta", weight=3]; 1350[label="Succ (Succ vuz107)",fontsize=16,color="green",shape="box"];881[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (compare (Integer vuz260) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];881 -> 895[label="",style="solid", color="black", weight=3]; 882[label="Integer vuz250 `quot` absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1514[label="vuz260/Pos vuz2600",fontsize=10,color="white",style="solid",shape="box"];882 -> 1514[label="",style="solid", color="burlywood", weight=9]; 1514 -> 896[label="",style="solid", color="burlywood", weight=3]; 1515[label="vuz260/Neg vuz2600",fontsize=10,color="white",style="solid",shape="box"];882 -> 1515[label="",style="solid", color="burlywood", weight=9]; 1515 -> 897[label="",style="solid", color="burlywood", weight=3]; 1351[label="Succ vuz108",fontsize=16,color="green",shape="box"];1352 -> 1042[label="",style="dashed", color="red", weight=0]; 1352[label="primMinusNatS (Succ vuz107) (Succ vuz108)",fontsize=16,color="magenta"];1352 -> 1353[label="",style="dashed", color="magenta", weight=3]; 1352 -> 1354[label="",style="dashed", color="magenta", weight=3]; 895[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];895 -> 947[label="",style="solid", color="black", weight=3]; 896[label="Integer vuz250 `quot` absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1516[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];896 -> 1516[label="",style="solid", color="burlywood", weight=9]; 1516 -> 948[label="",style="solid", color="burlywood", weight=3]; 1517[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];896 -> 1517[label="",style="solid", color="burlywood", weight=9]; 1517 -> 949[label="",style="solid", color="burlywood", weight=3]; 897[label="Integer vuz250 `quot` absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1518[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];897 -> 1518[label="",style="solid", color="burlywood", weight=9]; 1518 -> 950[label="",style="solid", color="burlywood", weight=3]; 1519[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];897 -> 1519[label="",style="solid", color="burlywood", weight=9]; 1519 -> 951[label="",style="solid", color="burlywood", weight=3]; 1353[label="Succ vuz107",fontsize=16,color="green",shape="box"];1354[label="Succ vuz108",fontsize=16,color="green",shape="box"];947[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (compare (Integer vuz260) (Integer (Pos Zero)) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];947 -> 964[label="",style="solid", color="black", weight=3]; 948[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];948 -> 965[label="",style="solid", color="black", weight=3]; 949[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];949 -> 966[label="",style="solid", color="black", weight=3]; 950[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];950 -> 967[label="",style="solid", color="black", weight=3]; 951[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];951 -> 968[label="",style="solid", color="black", weight=3]; 964[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer vuz260) (not (primCmpInt vuz260 (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1520[label="vuz260/Pos vuz2600",fontsize=10,color="white",style="solid",shape="box"];964 -> 1520[label="",style="solid", color="burlywood", weight=9]; 1520 -> 979[label="",style="solid", color="burlywood", weight=3]; 1521[label="vuz260/Neg vuz2600",fontsize=10,color="white",style="solid",shape="box"];964 -> 1521[label="",style="solid", color="burlywood", weight=9]; 1521 -> 980[label="",style="solid", color="burlywood", weight=3]; 965[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT))",fontsize=16,color="black",shape="box"];965 -> 981[label="",style="solid", color="black", weight=3]; 966[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];966 -> 982[label="",style="solid", color="black", weight=3]; 967[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];967 -> 983[label="",style="solid", color="black", weight=3]; 968[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];968 -> 984[label="",style="solid", color="black", weight=3]; 979[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos vuz2600)) (not (primCmpInt (Pos vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1522[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];979 -> 1522[label="",style="solid", color="burlywood", weight=9]; 1522 -> 995[label="",style="solid", color="burlywood", weight=3]; 1523[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];979 -> 1523[label="",style="solid", color="burlywood", weight=9]; 1523 -> 996[label="",style="solid", color="burlywood", weight=3]; 980[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg vuz2600)) (not (primCmpInt (Neg vuz2600) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="burlywood",shape="box"];1524[label="vuz2600/Succ vuz26000",fontsize=10,color="white",style="solid",shape="box"];980 -> 1524[label="",style="solid", color="burlywood", weight=9]; 1524 -> 997[label="",style="solid", color="burlywood", weight=3]; 1525[label="vuz2600/Zero",fontsize=10,color="white",style="solid",shape="box"];980 -> 1525[label="",style="solid", color="burlywood", weight=9]; 1525 -> 998[label="",style="solid", color="burlywood", weight=3]; 981[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];981 -> 999[label="",style="solid", color="black", weight=3]; 982[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];982 -> 1000[label="",style="solid", color="black", weight=3]; 983[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) (not True)",fontsize=16,color="black",shape="box"];983 -> 1001[label="",style="solid", color="black", weight=3]; 984[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];984 -> 1002[label="",style="solid", color="black", weight=3]; 995[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpInt (Pos (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];995 -> 1012[label="",style="solid", color="black", weight=3]; 996[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];996 -> 1013[label="",style="solid", color="black", weight=3]; 997[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not (primCmpInt (Neg (Succ vuz26000)) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];997 -> 1014[label="",style="solid", color="black", weight=3]; 998[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];998 -> 1015[label="",style="solid", color="black", weight=3]; 999[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) (not False)",fontsize=16,color="black",shape="box"];999 -> 1016[label="",style="solid", color="black", weight=3]; 1000[label="Integer vuz250 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1000 -> 1017[label="",style="solid", color="black", weight=3]; 1001[label="Integer vuz250 `quot` absReal1 (Integer (Neg (Succ vuz26000))) False",fontsize=16,color="black",shape="box"];1001 -> 1018[label="",style="solid", color="black", weight=3]; 1002[label="Integer vuz250 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1002 -> 1019[label="",style="solid", color="black", weight=3]; 1012[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (primCmpNat (Succ vuz26000) Zero == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1012 -> 1028[label="",style="solid", color="black", weight=3]; 1013[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1013 -> 1029[label="",style="solid", color="black", weight=3]; 1014[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not (LT == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1014 -> 1030[label="",style="solid", color="black", weight=3]; 1015[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1015 -> 1031[label="",style="solid", color="black", weight=3]; 1016[label="Integer vuz250 `quot` absReal1 (Integer (Pos (Succ vuz26000))) True",fontsize=16,color="black",shape="box"];1016 -> 1032[label="",style="solid", color="black", weight=3]; 1017 -> 1091[label="",style="dashed", color="red", weight=0]; 1017[label="Integer vuz250 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];1017 -> 1092[label="",style="dashed", color="magenta", weight=3]; 1018[label="Integer vuz250 `quot` absReal0 (Integer (Neg (Succ vuz26000))) otherwise",fontsize=16,color="black",shape="box"];1018 -> 1034[label="",style="solid", color="black", weight=3]; 1019 -> 1091[label="",style="dashed", color="red", weight=0]; 1019[label="Integer vuz250 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];1019 -> 1093[label="",style="dashed", color="magenta", weight=3]; 1028[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not (GT == LT)) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1028 -> 1043[label="",style="solid", color="black", weight=3]; 1029[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1029 -> 1044[label="",style="solid", color="black", weight=3]; 1030[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) (not True) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) (not True) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1030 -> 1045[label="",style="solid", color="black", weight=3]; 1031[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1031 -> 1046[label="",style="solid", color="black", weight=3]; 1032 -> 1091[label="",style="dashed", color="red", weight=0]; 1032[label="Integer vuz250 `quot` Integer (Pos (Succ vuz26000))",fontsize=16,color="magenta"];1032 -> 1094[label="",style="dashed", color="magenta", weight=3]; 1092[label="Pos Zero",fontsize=16,color="green",shape="box"];1091[label="Integer vuz250 `quot` Integer vuz81",fontsize=16,color="black",shape="triangle"];1091 -> 1100[label="",style="solid", color="black", weight=3]; 1034[label="Integer vuz250 `quot` absReal0 (Integer (Neg (Succ vuz26000))) True",fontsize=16,color="black",shape="box"];1034 -> 1049[label="",style="solid", color="black", weight=3]; 1093[label="Neg Zero",fontsize=16,color="green",shape="box"];1043[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) (not False) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) (not False) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1043 -> 1061[label="",style="solid", color="black", weight=3]; 1044[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1044 -> 1062[label="",style="solid", color="black", weight=3]; 1045[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz26000))) False `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg (Succ vuz26000))) False `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1045 -> 1063[label="",style="solid", color="black", weight=3]; 1046[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1046 -> 1064[label="",style="solid", color="black", weight=3]; 1094[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1100[label="Integer (primQuotInt vuz250 vuz81)",fontsize=16,color="green",shape="box"];1100 -> 1108[label="",style="dashed", color="green", weight=3]; 1049[label="Integer vuz250 `quot` (`negate` Integer (Neg (Succ vuz26000)))",fontsize=16,color="black",shape="box"];1049 -> 1068[label="",style="solid", color="black", weight=3]; 1061[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz26000))) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal1 (Integer (Pos (Succ vuz26000))) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1061 -> 1083[label="",style="solid", color="black", weight=3]; 1062 -> 1167[label="",style="dashed", color="red", weight=0]; 1062[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Pos Zero) `rem` Integer vuz56)",fontsize=16,color="magenta"];1062 -> 1168[label="",style="dashed", color="magenta", weight=3]; 1062 -> 1169[label="",style="dashed", color="magenta", weight=3]; 1063[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz26000))) otherwise `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal0 (Integer (Neg (Succ vuz26000))) otherwise `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1063 -> 1085[label="",style="solid", color="black", weight=3]; 1064 -> 1167[label="",style="dashed", color="red", weight=0]; 1064[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Neg Zero) `rem` Integer vuz56)",fontsize=16,color="magenta"];1064 -> 1170[label="",style="dashed", color="magenta", weight=3]; 1064 -> 1171[label="",style="dashed", color="magenta", weight=3]; 1108[label="primQuotInt vuz250 vuz81",fontsize=16,color="burlywood",shape="box"];1526[label="vuz250/Pos vuz2500",fontsize=10,color="white",style="solid",shape="box"];1108 -> 1526[label="",style="solid", color="burlywood", weight=9]; 1526 -> 1111[label="",style="solid", color="burlywood", weight=3]; 1527[label="vuz250/Neg vuz2500",fontsize=10,color="white",style="solid",shape="box"];1108 -> 1527[label="",style="solid", color="burlywood", weight=9]; 1527 -> 1112[label="",style="solid", color="burlywood", weight=3]; 1068 -> 1091[label="",style="dashed", color="red", weight=0]; 1068[label="Integer vuz250 `quot` Integer (primNegInt (Neg (Succ vuz26000)))",fontsize=16,color="magenta"];1068 -> 1095[label="",style="dashed", color="magenta", weight=3]; 1083 -> 1167[label="",style="dashed", color="red", weight=0]; 1083[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz26000)) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (Pos (Succ vuz26000)) `rem` Integer vuz56)",fontsize=16,color="magenta"];1083 -> 1172[label="",style="dashed", color="magenta", weight=3]; 1083 -> 1173[label="",style="dashed", color="magenta", weight=3]; 1168[label="Pos Zero",fontsize=16,color="green",shape="box"];1169[label="Pos Zero",fontsize=16,color="green",shape="box"];1167[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer vuz90 `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer vuz89 `rem` Integer vuz56)",fontsize=16,color="black",shape="triangle"];1167 -> 1176[label="",style="solid", color="black", weight=3]; 1085[label="Integer vuz250 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz26000))) True `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (absReal0 (Integer (Neg (Succ vuz26000))) True `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1085 -> 1121[label="",style="solid", color="black", weight=3]; 1170[label="Neg Zero",fontsize=16,color="green",shape="box"];1171[label="Neg Zero",fontsize=16,color="green",shape="box"];1111[label="primQuotInt (Pos vuz2500) vuz81",fontsize=16,color="burlywood",shape="box"];1528[label="vuz81/Pos vuz810",fontsize=10,color="white",style="solid",shape="box"];1111 -> 1528[label="",style="solid", color="burlywood", weight=9]; 1528 -> 1122[label="",style="solid", color="burlywood", weight=3]; 1529[label="vuz81/Neg vuz810",fontsize=10,color="white",style="solid",shape="box"];1111 -> 1529[label="",style="solid", color="burlywood", weight=9]; 1529 -> 1123[label="",style="solid", color="burlywood", weight=3]; 1112[label="primQuotInt (Neg vuz2500) vuz81",fontsize=16,color="burlywood",shape="box"];1530[label="vuz81/Pos vuz810",fontsize=10,color="white",style="solid",shape="box"];1112 -> 1530[label="",style="solid", color="burlywood", weight=9]; 1530 -> 1124[label="",style="solid", color="burlywood", weight=3]; 1531[label="vuz81/Neg vuz810",fontsize=10,color="white",style="solid",shape="box"];1112 -> 1531[label="",style="solid", color="burlywood", weight=9]; 1531 -> 1125[label="",style="solid", color="burlywood", weight=3]; 1095 -> 694[label="",style="dashed", color="red", weight=0]; 1095[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1095 -> 1126[label="",style="dashed", color="magenta", weight=3]; 1172[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1173[label="Pos (Succ vuz26000)",fontsize=16,color="green",shape="box"];1176 -> 1190[label="",style="dashed", color="red", weight=0]; 1176[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primRemInt vuz90 vuz56) == fromInt (Pos Zero)) (Integer vuz56) (Integer (primRemInt vuz90 vuz56))",fontsize=16,color="magenta"];1176 -> 1191[label="",style="dashed", color="magenta", weight=3]; 1176 -> 1192[label="",style="dashed", color="magenta", weight=3]; 1121[label="Integer vuz250 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz26000))) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) ((`negate` Integer (Neg (Succ vuz26000))) `rem` Integer vuz56)",fontsize=16,color="black",shape="box"];1121 -> 1144[label="",style="solid", color="black", weight=3]; 1122[label="primQuotInt (Pos vuz2500) (Pos vuz810)",fontsize=16,color="burlywood",shape="box"];1532[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1122 -> 1532[label="",style="solid", color="burlywood", weight=9]; 1532 -> 1145[label="",style="solid", color="burlywood", weight=3]; 1533[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1122 -> 1533[label="",style="solid", color="burlywood", weight=9]; 1533 -> 1146[label="",style="solid", color="burlywood", weight=3]; 1123[label="primQuotInt (Pos vuz2500) (Neg vuz810)",fontsize=16,color="burlywood",shape="box"];1534[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1123 -> 1534[label="",style="solid", color="burlywood", weight=9]; 1534 -> 1147[label="",style="solid", color="burlywood", weight=3]; 1535[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1123 -> 1535[label="",style="solid", color="burlywood", weight=9]; 1535 -> 1148[label="",style="solid", color="burlywood", weight=3]; 1124[label="primQuotInt (Neg vuz2500) (Pos vuz810)",fontsize=16,color="burlywood",shape="box"];1536[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1124 -> 1536[label="",style="solid", color="burlywood", weight=9]; 1536 -> 1149[label="",style="solid", color="burlywood", weight=3]; 1537[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1124 -> 1537[label="",style="solid", color="burlywood", weight=9]; 1537 -> 1150[label="",style="solid", color="burlywood", weight=3]; 1125[label="primQuotInt (Neg vuz2500) (Neg vuz810)",fontsize=16,color="burlywood",shape="box"];1538[label="vuz810/Succ vuz8100",fontsize=10,color="white",style="solid",shape="box"];1125 -> 1538[label="",style="solid", color="burlywood", weight=9]; 1538 -> 1151[label="",style="solid", color="burlywood", weight=3]; 1539[label="vuz810/Zero",fontsize=10,color="white",style="solid",shape="box"];1125 -> 1539[label="",style="solid", color="burlywood", weight=9]; 1539 -> 1152[label="",style="solid", color="burlywood", weight=3]; 1126[label="vuz26000",fontsize=16,color="green",shape="box"];1191 -> 128[label="",style="dashed", color="red", weight=0]; 1191[label="Integer (primRemInt vuz90 vuz56) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1191 -> 1193[label="",style="dashed", color="magenta", weight=3]; 1192 -> 534[label="",style="dashed", color="red", weight=0]; 1192[label="primRemInt vuz90 vuz56",fontsize=16,color="magenta"];1192 -> 1194[label="",style="dashed", color="magenta", weight=3]; 1192 -> 1195[label="",style="dashed", color="magenta", weight=3]; 1190[label="Integer vuz250 `quot` gcd0Gcd'1 vuz93 (Integer vuz56) (Integer vuz94)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz93/False",fontsize=10,color="white",style="solid",shape="box"];1190 -> 1540[label="",style="solid", color="burlywood", weight=9]; 1540 -> 1196[label="",style="solid", color="burlywood", weight=3]; 1541[label="vuz93/True",fontsize=10,color="white",style="solid",shape="box"];1190 -> 1541[label="",style="solid", color="burlywood", weight=9]; 1541 -> 1197[label="",style="solid", color="burlywood", weight=3]; 1144 -> 1167[label="",style="dashed", color="red", weight=0]; 1144[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz26000))) `rem` Integer vuz56 == fromInt (Pos Zero)) (Integer vuz56) (Integer (primNegInt (Neg (Succ vuz26000))) `rem` Integer vuz56)",fontsize=16,color="magenta"];1144 -> 1174[label="",style="dashed", color="magenta", weight=3]; 1144 -> 1175[label="",style="dashed", color="magenta", weight=3]; 1145[label="primQuotInt (Pos vuz2500) (Pos (Succ vuz8100))",fontsize=16,color="black",shape="box"];1145 -> 1177[label="",style="solid", color="black", weight=3]; 1146[label="primQuotInt (Pos vuz2500) (Pos Zero)",fontsize=16,color="black",shape="box"];1146 -> 1178[label="",style="solid", color="black", weight=3]; 1147[label="primQuotInt (Pos vuz2500) (Neg (Succ vuz8100))",fontsize=16,color="black",shape="box"];1147 -> 1179[label="",style="solid", color="black", weight=3]; 1148[label="primQuotInt (Pos vuz2500) (Neg Zero)",fontsize=16,color="black",shape="box"];1148 -> 1180[label="",style="solid", color="black", weight=3]; 1149[label="primQuotInt (Neg vuz2500) (Pos (Succ vuz8100))",fontsize=16,color="black",shape="box"];1149 -> 1181[label="",style="solid", color="black", weight=3]; 1150[label="primQuotInt (Neg vuz2500) (Pos Zero)",fontsize=16,color="black",shape="box"];1150 -> 1182[label="",style="solid", color="black", weight=3]; 1151[label="primQuotInt (Neg vuz2500) (Neg (Succ vuz8100))",fontsize=16,color="black",shape="box"];1151 -> 1183[label="",style="solid", color="black", weight=3]; 1152[label="primQuotInt (Neg vuz2500) (Neg Zero)",fontsize=16,color="black",shape="box"];1152 -> 1184[label="",style="solid", color="black", weight=3]; 1193 -> 534[label="",style="dashed", color="red", weight=0]; 1193[label="primRemInt vuz90 vuz56",fontsize=16,color="magenta"];1193 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1193 -> 1242[label="",style="dashed", color="magenta", weight=3]; 1194[label="vuz90",fontsize=16,color="green",shape="box"];1195[label="vuz56",fontsize=16,color="green",shape="box"];1196[label="Integer vuz250 `quot` gcd0Gcd'1 False (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1196 -> 1243[label="",style="solid", color="black", weight=3]; 1197[label="Integer vuz250 `quot` gcd0Gcd'1 True (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1197 -> 1244[label="",style="solid", color="black", weight=3]; 1174 -> 694[label="",style="dashed", color="red", weight=0]; 1174[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1174 -> 1201[label="",style="dashed", color="magenta", weight=3]; 1175 -> 694[label="",style="dashed", color="red", weight=0]; 1175[label="primNegInt (Neg (Succ vuz26000))",fontsize=16,color="magenta"];1175 -> 1202[label="",style="dashed", color="magenta", weight=3]; 1177[label="Pos (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1177 -> 1203[label="",style="dashed", color="green", weight=3]; 1178 -> 381[label="",style="dashed", color="red", weight=0]; 1178[label="error []",fontsize=16,color="magenta"];1179[label="Neg (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1179 -> 1204[label="",style="dashed", color="green", weight=3]; 1180 -> 381[label="",style="dashed", color="red", weight=0]; 1180[label="error []",fontsize=16,color="magenta"];1181[label="Neg (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1181 -> 1205[label="",style="dashed", color="green", weight=3]; 1182 -> 381[label="",style="dashed", color="red", weight=0]; 1182[label="error []",fontsize=16,color="magenta"];1183[label="Pos (primDivNatS vuz2500 (Succ vuz8100))",fontsize=16,color="green",shape="box"];1183 -> 1206[label="",style="dashed", color="green", weight=3]; 1184 -> 381[label="",style="dashed", color="red", weight=0]; 1184[label="error []",fontsize=16,color="magenta"];1241[label="vuz90",fontsize=16,color="green",shape="box"];1242[label="vuz56",fontsize=16,color="green",shape="box"];1243[label="Integer vuz250 `quot` gcd0Gcd'0 (Integer vuz56) (Integer vuz94)",fontsize=16,color="black",shape="box"];1243 -> 1259[label="",style="solid", color="black", weight=3]; 1244 -> 1091[label="",style="dashed", color="red", weight=0]; 1244[label="Integer vuz250 `quot` Integer vuz56",fontsize=16,color="magenta"];1244 -> 1260[label="",style="dashed", color="magenta", weight=3]; 1201[label="vuz26000",fontsize=16,color="green",shape="box"];1202[label="vuz26000",fontsize=16,color="green",shape="box"];1203 -> 394[label="",style="dashed", color="red", weight=0]; 1203[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1203 -> 1245[label="",style="dashed", color="magenta", weight=3]; 1203 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1204 -> 394[label="",style="dashed", color="red", weight=0]; 1204[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1204 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1204 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1205 -> 394[label="",style="dashed", color="red", weight=0]; 1205[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1205 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1250[label="",style="dashed", color="magenta", weight=3]; 1206 -> 394[label="",style="dashed", color="red", weight=0]; 1206[label="primDivNatS vuz2500 (Succ vuz8100)",fontsize=16,color="magenta"];1206 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1259[label="Integer vuz250 `quot` gcd0Gcd' (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 1260[label="vuz56",fontsize=16,color="green",shape="box"];1245[label="vuz8100",fontsize=16,color="green",shape="box"];1246[label="vuz2500",fontsize=16,color="green",shape="box"];1247[label="vuz8100",fontsize=16,color="green",shape="box"];1248[label="vuz2500",fontsize=16,color="green",shape="box"];1249[label="vuz8100",fontsize=16,color="green",shape="box"];1250[label="vuz2500",fontsize=16,color="green",shape="box"];1251[label="vuz8100",fontsize=16,color="green",shape="box"];1252[label="vuz2500",fontsize=16,color="green",shape="box"];1270[label="Integer vuz250 `quot` gcd0Gcd'2 (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="black",shape="box"];1270 -> 1278[label="",style="solid", color="black", weight=3]; 1278 -> 1167[label="",style="dashed", color="red", weight=0]; 1278[label="Integer vuz250 `quot` gcd0Gcd'1 (Integer vuz56 `rem` Integer vuz94 == fromInt (Pos Zero)) (Integer vuz94) (Integer vuz56 `rem` Integer vuz94)",fontsize=16,color="magenta"];1278 -> 1283[label="",style="dashed", color="magenta", weight=3]; 1278 -> 1284[label="",style="dashed", color="magenta", weight=3]; 1278 -> 1285[label="",style="dashed", color="magenta", weight=3]; 1283[label="vuz56",fontsize=16,color="green",shape="box"];1284[label="vuz56",fontsize=16,color="green",shape="box"];1285[label="vuz94",fontsize=16,color="green",shape="box"];} ---------------------------------------- (1264) Complex Obligation (AND) ---------------------------------------- (1265) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (1266) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: [] = [] Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (1267) YES ---------------------------------------- (1268) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (1269) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (1270) YES ---------------------------------------- (1271) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (1272) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: [] = [] Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (1273) YES